Mam dość niepotrzebnych spacji w plikach źródłowych, które nawet skonfigurowałem vim, aby je wyświetlać.
Problem polega na tym, że bardzo często (jeśli nie zawsze) mam do czynienia z bezużytecznymi przestrzeniami z moimi programistami.
Chciałbym tylko przeskanować pliki źródłowe (biorąc pod uwagę wyrażenie regularne) i usunąć białe znaki ze wszystkich podanych plików.
Szukałem w Internecie („bash remove whiteSpace” itp.), Ale nie znalazłem czegoś przydatnego.
shell-script
text-processing
Olivier Pons
źródło
źródło
tr -d ' ' < file.foo
nie jest dokładnie tym, czego szukasz).Odpowiedzi:
Jeśli przez bezużyteczne białe znaki masz na myśli końcowe białe znaki na końcu linii, będzie to działać w systemach GNU:
(zamień na
*.c
dowolne pliki źródłowe)źródło
;^)
. Jeszcze raz dziękuję.To jest powtarzający się problem!
(to także usuwa „
\r\n
”)Zwykle używam nieco bardziej złożonej wersji „nrs” (bez zbędnych spacji):
zainstaluj:
chmod 755 nrs; cp nrs ~/bin;
(lub podobny)I użyć:
nrs ./*.c
Nie używaj go w plikach binarnych!
źródło
Wypróbuj Ex-way:
aby usunąć końcowe białe znaki ze wszystkich plików w bieżącym folderze. Do rekurencji (bash4 / zsh) możesz użyć nowej opcji globbing (
**/*.*
).Uwaga:
:bufdo
Polecenie to nie POSIX .źródło
Aby uniknąć dotykania plików, które są już OK, za pomocą narzędzi GNU:
źródło