sed, чтобы удалить все пробелы из строки

Я хочу использовать sed удалить все пробелы из текстового файла. В настоящее время я использую эту команду:

sed 's/ //' test.txt > test2.txt

Это работает в том смысле, что удаляет первый пробел в каждой строке, но оставляет остальные.

Есть ли способ сказать sed повторить для пробелов в строке перед переходом к следующему или это сценарий многократного выполнения сценариев для одного и того же файла?

В настоящее время файл мал для тестирования, но вскоре он будет увеличен до гораздо больших файлов, поэтому было бы неплохо минимальное промывание и повторение. Какие-нибудь мысли?

В настоящее время я получаю это с помощью команды выше:

bruteforce  
allthe kings men  
moneymoney money  
ifi was a rich girl

Когда то, что я хотел бы, это:

bruteforce  
allthekingsmen  
moneymoneymoney  
ifiwasarichgirl  

2 ответа

Решение

Вы должны использовать g (глобальный) флаг, который делает sed действовать на все совпадения шаблона в каждой строке, а не на первое совпадение в каждой строке:

sed 's/ //g' test.txt > test2.txt

Это также можно сделать с помощьюtr, например,

      tr -d ' ' < test.txt > test2.txt
Другие вопросы по тегам