Chinaunix
标题:
sed删除空行失效,求指点,谢谢
[打印本页]
作者:
Leo_Li02
时间:
2014-10-24 06:15
标题:
sed删除空行失效,求指点,谢谢
test_file 测试文件内容为下面一行字符串,另外还有3个空行:
.Ah "Major Heading"
目标:要把他换成@A HEAD = Major Heading,并删除后面的3个空行。
1. 我写了个脚本sedscr,执行sed -f sedscr test_file,为什么删除不掉那三个空行?
/^\.Ah/{
/^$/d
s/^\.Ah */@A HEAD = /g
s/"//g
}
2. 但是我直接命令行敲下面命令就可以删除掉空行。
sed '/^$/d' test_file
求指点,谢谢。
作者:
yinyuemi
时间:
2014-10-24 06:50
删偏了...
把/^$/d放到外面
作者:
欧阳西风
时间:
2014-10-24 08:52
回复
1#
Leo_Li02
/^\.Ah/{
s/^\.Ah */@A HEAD = /g
s/"//g
}
/^$/d
你要是放到大括号里面的话,首先需要匹配/^\.Ah/才会执行大括号里面的内容,那样是匹配不到你想删除的空行的。
作者:
yestreenstars
时间:
2014-10-24 09:03
把刀藏起来怎么杀人~{:3_193:}
作者:
bulletmarquis
时间:
2014-10-24 09:18
/^$/d放在括号里面,要在括号里面先写N;
作者:
jcdiy0601
时间:
2014-10-24 09:21
本帖最后由 jcdiy0601 于 2014-10-24 09:22 编辑
因为你匹配到的行里面没有空行
作者:
Leo_Li02
时间:
2014-10-24 22:15
终于明白了,真心感谢大家,谢谢了!
欢迎光临 Chinaunix (http://bbs.chinaunix.net/)
Powered by Discuz! X3.2