Я хочу удалить все пробелы из данного файла и записать результат другому. Я хочу использовать сценарий оболочки для этого.
Обработка текста с оболочкой является медленной. Необходимо использовать утилиту обработки текста для этого. Например, Вы могли использовать sed
Удалите весь горизонтальный пробел:
sed 's/\s//g' file > output
Удалите весь горизонтальный пробел и пустые строки или строки только с пробелом:
sed 's/\s//g;/^$/d' file > output
Удалите весь пробел любого вида постоянно, включая все новые строки
sed ':a;s/\s//g;N;s/\n//;ba' file > output
s/\s//g
ничем замените любой горизонтальный пробельный символ, соответствуя каждому пробельному символу на строке (g
средства все соответствия на строке);
отделяется sed
команды/^$/
пустая строкаd
удалите пространство шаблона:a
маркировка - выполняется отсюдаN
считайте следующую строку в пространство шаблона\n
новая строка в пространстве шаблонаba
перейдите для маркировки :a
и выполнитесь сноваУдалить все горизонтальные пробельные символы (т.е. пробелы и горизонтальные вкладки)
tr -d '[:blank:]' < file > newfile
Удалить все пробельные символы (включая новые строки и вертикальные вкладки)
tr -d '[:space:]' < file > newfile
Обратите внимание, что это оставит файл без его переданного под мандат POSIX завершающегося разрыва строки: посмотрите, например, Почему текстовые файлы должны закончиться новой строкой?