Can';t使用sed regex删除空行
我有这样一个文件:Can';t使用sed regex删除空行,regex,sed,linefeed,Regex,Sed,Linefeed,我有这样一个文件: 2733617 3.00 3 3 2733617 E1b1 8.00 8 16 2733617 E1b1b1b 2.00 2 4 2733617 I1 294.00 296 590 2733617 I2 1.00 1 2 2733617 I2a1 2.00 2 4 sed'/^$/d'对我不起作用。Outfile看起来就像infle。它应该删除空行。您也可以尝试: sed -n '/^./p
2733617 3.00 3 3
2733617 E1b1 8.00 8 16
2733617 E1b1b1b 2.00 2 4
2733617 I1 294.00 296 590
2733617 I2 1.00 1 2
2733617 I2a1 2.00 2 4
sed'/^$/d'
对我不起作用。Outfile看起来就像infle。它应该删除空行。您也可以尝试:
sed -n '/^./p'
只打印在行首至少有一个字符的行。(顺便说一句,sed'/^$/d'对我有效)由于“空白”行中似乎有未知的不可打印字符,您可以重新编写sed命令,仅显示其中包含可打印字符的行:
sed -n '/[!-~]/p'
不幸的是,手册上说使用像
[!-~]
这样的范围是不安全的。但是,仅使用:print:
打印包含可打印字符的行最终对我有效:
sed -n '/[[:print:]]/p'
要删除空行,请执行以下操作:
sed '/^[[:space:]]*$/d'
检查这些“空”行上是否没有空格(包括回车符):
od-c filename
谢谢您的命令。但是空行中只有“\n”。sed-nl文件
将显示删除新行后sed看到的内容。每一空行中都有美元符号。真奇怪。你的命令应该有效。你能把od-x的输出发出去吗。您还可以使用grep-v'^$'
2。如何使用sed
命令?使用UNIX管道?(cat文件| sed…
)?也许你是在输出标准错误而不是标准输出?Grep给了我同样的结果。我“sed'blahblah'file>newfile”。这是个老问题,我不知道今天这个神秘的文件在哪里。格伦,对不起。我对sed
一窍不通。你能解释一下d
修饰符的作用吗?我用谷歌搜索了一下,没有结果:)