我需要从终端中的文本文件中删除空的新行。
示例文件
123
123
123
123
123
123
我在 Google 上搜索了一下,但只找到了解决方案,sed '/^$/d' myFile > tt
而且没有帮助。我仍然得到这些空的新行。
答案1
您可以使用grep以此目的。
尝试:grep -v ^$ filename
。
您的命令似乎也有效:
$ cat t
123
123
123
123
123
123
$ sed '/^$/d' t
123
123
123
123
123
123
$ sed '/^$/d' t >tt
$ cat tt
123
123
123
123
123
123
$
答案2
使用 AWK:NF 是 AWK 的内置变量,用于存储每条记录中的字段数。单独使用时,它将仅打印 NF!=0 的行。
[jaypal~/Temp]$ cat t
123
123
123
123
123
123
[jaypal~/Temp]$ awk 'NF' t
123
123
123
123
123
123
答案3
可能有 100 种方法可以做到这一点,这是其中之一:
grep -vE "$^" yourfile
答案4
这是另一个解决方案:
python -c "import sys; print ''.join(line for line in sys.stdin.readlines() if line.strip() != ''),"
(python
默认安装)