Как убрать все пробелы в cygwin

У меня есть несколько файлов .txt в папке, я хочу удалить все пробелы из каждой строки каждого файла, как мне это сделать?

Итак, файл file1.txt содержит

 a a a a 
 2 2 2 2

а файл 2.txt содержит

3 3 3 3
4 4 4 4

Я хочу, чтобы результат удалял пробелы, например,

файл1.txt после

aaaa
2222

person Thomas Bishop    schedule 01.03.2017    source источник


Ответы (2)


Проверьте этот пост. Как удалить все пробелы из заданного текста файл

Вам нужна команда tr. Вы можете сделать что-то вроде cat file.txt | tr -d " \t\n\r"

И если вы хотите сделать это для всех файлов в каталоге, вы можете использовать команду find. Что-то вроде find . | xargs tr -d " \t\n\r

РЕДАКТИРОВАТЬ. Только что заметил, что вы хотите сохранить разрывы строк. Вы можете опустить символы новой строки в команде tr

person Steve    schedule 02.03.2017
comment
УУОК: cat file.txt | tr -d " \t\n\r" -> tr -d " \t\n\r" < file.txt. Рассмотрите возможность использования класса символов POSIX [:blank:]. - person Ed Morton; 29.03.2017
comment
Хорошая мысль Эд. Всегда лучше быть явным, это облегчает чтение. - person Steve; 30.03.2017

Использование sed

 $sed -e "s/ //g" file1.txt
aaaa
2222

Вы можете добавить -i, чтобы изменить файл на месте.

person matzeri    schedule 02.03.2017