256163;16816;1651
16156;165165;1165
15153;135135;15351
15153;1351;8
165;15313;153513
254;45;45
期望的输出:
256163;16816;1651
16156;165165;1165
15153;135135;15351
15153;1351;8
165;15313;153513
254;45;45
使用unix中的awk / sed实用程序可以轻松完成吗?
答案 0 :(得分:9)
如果“空”行上没有空格,@ Luixv的答案是正确的。 如果存在空格,请改为使用:
sed '/^[ \t]*$/d'
在括号内的\ t之前有一个空格,即[space \ t]
如果这不起作用,您可能会遇到换行问题。做一个:
$ file test_file
test_file: ISO-8859 text, with CRLF, LF line terminators
如果您获得上述输出,请使用以下命令将文件转换为unix:
$ dos2unix test_file
答案 1 :(得分:6)
sed'/ ^ $ / d'
答案 2 :(得分:1)
sed -nre "s/([^$])/\1/p" input
答案 3 :(得分:1)
sed -n 's/^[ ,\t]*$/!p' filename
答案 4 :(得分:0)
如果您没有安装ssed
super_sed解决,请安装它。
ssed -R -e '/(^$|\s)/ d' yourFile
或
cat yourFile| ssed -R -e '/(^$|\s)/ d'
快乐的发送
PS:即使您在ReqExp中有标签或\r \t \n
因此\s
,也会有效。
\r = Return Carriage
\n = New Line
\t = Tab