Удалите пустые строки из txtfiles, удалите пробелы из начала и конца строки Что было бы лучше: sed -e /^$/d *.txt sed 'g/^$/d' -i *.txt Как удалить пробелы от начала и конца каждой строки в текстовом файле? Ответ 1 $ sed 's/^ *//; s/ *$//; /^$/d' file.txt `s/^ *//` => left trim `s/ *$//` => right trim `/^$/d` => remove empty line Ответ 2 Это может сработать для вас: sed -r 's/^\s*(.*\S)*\s*$/\1/;/^$/d' file.txt Ответ 3 Аналогично, но с помощью редактора ex: ex -s +"g/^$/de" +"%s/^\s\+//e" +"%s/\s\+$//e" -cwq foo.txt Для нескольких файлов: ex -s +'bufdo!g/^$/de' +'bufdo!%s/^\s\+//e' +'bufdo!%s/\s\+$//e' -cxa *.txt Чтобы заменить рекурсивно, вы можете использовать новую функцию globbing (например, **/*.txt). Ответ 4 Еще более простой метод с использованием awk. cat filename.txt | awk 'NF' | awk '{$1=$1;print}' awk 'NF' - Это приведет к удалению всех пустых/пустых строк. awk '{$1=$1;print}' - Это приведет к удалению только пробелов пробелов (как слева, так и справа)
Ответ 1 $ sed 's/^ *//; s/ *$//; /^$/d' file.txt `s/^ *//` => left trim `s/ *$//` => right trim `/^$/d` => remove empty line
Ответ 3 Аналогично, но с помощью редактора ex: ex -s +"g/^$/de" +"%s/^\s\+//e" +"%s/\s\+$//e" -cwq foo.txt Для нескольких файлов: ex -s +'bufdo!g/^$/de' +'bufdo!%s/^\s\+//e' +'bufdo!%s/\s\+$//e' -cxa *.txt Чтобы заменить рекурсивно, вы можете использовать новую функцию globbing (например, **/*.txt).
Ответ 4 Еще более простой метод с использованием awk. cat filename.txt | awk 'NF' | awk '{$1=$1;print}' awk 'NF' - Это приведет к удалению всех пустых/пустых строк. awk '{$1=$1;print}' - Это приведет к удалению только пробелов пробелов (как слева, так и справа)