Мне так надоели бесполезные пробелы в исходных файлах, которые я даже настроил для показа в vim.
Проблема в том, что мне очень часто (если не всегда) приходится сталкиваться с бесполезными пробелами с моими помощниками-разработчиками.
Я просто хотел бы сканировать исходные файлы (с учетом регулярного выражения) и удалять пробелы из всех указанных файлов.
Я поискал в Интернете ("bash remove whitespace" и т. Д.), Но не нашел ничего полезного.
shell-script
text-processing
Оливье Понс
источник
источник
tr -d ' ' < file.foo
это не совсем то, что вы ищете.)Ответы:
Если под бесполезным пробелом вы подразумеваете конечный пробел в конце строки, это будет работать в системах GNU:
(замените
*.c
все, что совпадают ваши исходные файлы)источник
;^)
. Еще раз спасибоЭто повторяющаяся проблема!
(это также удаляет '
\r\n
')Я обычно использую немного более сложную версию "nrs" (без лишних пробелов):
установить его:
chmod 755 nrs; cp nrs ~/bin;
(или аналогичный)и использовать:
nrs ./*.c
Не используйте его в двоичных файлах!
источник
Попробуйте Ex-way:
удалить конечные пробелы из всех файлов в текущей папке. Для рекурсии (bash4 / zsh) вы можете использовать новую опцию globbing (
**/*.*
).Примечание:
:bufdo
команда не POSIX .источник
Чтобы не трогать файлы, которые уже в порядке, с помощью инструментов GNU:
источник