从txtfiles中删除空行,从行的开头和结尾删除空格

alv*_*vas 21 bash replace spaces sed text-files

哪一个会更好:

sed -e '/^$/d' *.txt
sed 'g/^$/d' -i *.txt
Run Code Online (Sandbox Code Playgroud)

另外,如何从文本文件中每行的开头和结尾删除空格?

kev*_*kev 38

$ sed 's/^ *//; s/ *$//; /^$/d' file.txt

`s/^ *//`  => left trim
`s/ *$//`  => right trim
`/^$/d`    => remove empty line
Run Code Online (Sandbox Code Playgroud)

  • `sed -r's/^\s*//; S /\s*$ //;/^ $ /德` (4认同)

M.S*_*run 5

使用awk甚至更简单的方法。

cat filename.txt | awk 'NF' | awk '{$1=$1;print}'
Run Code Online (Sandbox Code Playgroud)

awk 'NF' -这将删除所有空白/空行。

awk '{$1=$1;print}' -这将仅删除结尾的空格(左右两边)