2

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

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

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

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

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

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

bruteforce  
allthe kings men  
moneymoney money  
ifi was a rich girl

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

bruteforce  
allthekingsmen  
moneymoneymoney  
ifiwasarichgirl  

1 ответ1

7

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

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

Всё ещё ищете ответ? Посмотрите другие вопросы с метками .