sed替换指定数字开头的行的问题
这个文本,专辑: 玻璃 EP
歌手: 朱茵
发行时间: 1997年03月
语言: 粤语
01.玻璃
02.某种感觉
03.想见他
04.巨蟹与天蝎
05.玻璃 (深情版)
09火65.巴荔
9879.的心
我执行下面的命令
sed -i /^[0-9]{1,2}.*/d jie.txt
文本并没有替换掉。我的本意是显示是删除
下面5行内容,
01.玻璃
02.某种感觉
03.想见他
04.巨蟹与天蝎
05.玻璃 (深情版) [code]$ sed -E -i '/^[0-9]{1,2}\./d' jie.txt
专辑: 玻璃 EP
歌手: 朱茵
发行时间: 1997年03月
语言: 粤语
09火65.巴荔
9879.的心
[/code] 如果不使用 -E 那么需要对花括号进行转义:[code]sed -i '/^[0-9]\{1,2\}\./d' jie.txt[/code] [b]回复 [url=http://www.bathome.net/redirect.php?goto=findpost&pid=221562&ptid=53223]3#[/url] [i]Batcher[/i] [/b]
sed -i /^[0-9]\{1,2\}\./d jie.txt
cat jie.txt
专辑: 玻璃 EP
歌手: 朱茵
语言: 粤语
这是这个脚本的执行结果。 [b]回复 [url=http://bbs.bathome.net/redirect.php?goto=findpost&pid=221565&ptid=53223]4#[/url] [i]netdzb[/i] [/b]
2楼的命令能得到你想要的结果吗? [b]回复 [url=http://www.bathome.net/redirect.php?goto=findpost&pid=221566&ptid=53223]5#[/url] [i]Batcher[/i] [/b]
2楼的可以。 [b]回复 [url=http://bbs.bathome.net/redirect.php?goto=findpost&pid=221565&ptid=53223]4#[/url] [i]netdzb[/i] [/b]
我这边CentOS 7测试没有问题,可能是你的环境比较特殊吧。 [b]回复 [url=http://www.bathome.net/redirect.php?goto=findpost&pid=221580&ptid=53223]7#[/url] [i]Batcher[/i] [/b]
好的,我去虚拟机测试一下。 [b]回复 [url=http://www.bathome.net/redirect.php?goto=findpost&pid=221580&ptid=53223]7#[/url] [i]Batcher[/i] [/b]
我刚用了本坛的sed 4.3还是不行,测试环境windows控制台,msys 1.0。
好像是里面的分割符号需要转义。
sed替换指定数字开头的行的问题
# 文本的内容如下:专辑: 玻璃 EP
歌手: 朱茵
发行时间: 1997年03月
语言: 粤语
01.玻璃
02.某种感觉
03.想见他
04.巨蟹与天蝎
05.玻璃 (深情版)
09火65.巴荔
9879.的心
本意是显示是删除
下面5行内容,
01.玻璃
02.某种感觉
03.想见他
04.巨蟹与天蝎
05.玻璃 (深情版)
sed -i '/^[0-9]\{1,2\}\./d' jie.txt
# 这个命令在CentOS 7可以通过,
# 测试环境windows控制台,msys 1.0,
# 这行命令无法通过
# 网上搜索的结果是里面有字符需要转义,但具体不知道如何修改。
# sed的版本是4.3 [b]回复 [url=http://bbs.bathome.net/redirect.php?goto=findpost&pid=221625&ptid=53223]9#[/url] [i]netdzb[/i] [/b]
我这边 Win10 CMD 测试未见异常
C:\Test>type 1.txt
专辑: 玻璃 EP
歌手: 朱茵
发行时间: 1997年03月
语言: 粤语
01.玻璃
02.某种感觉
03.想见他
04.巨蟹与天蝎
05.玻璃 (深情版)
09火65.巴荔
9879.的心
C:\Test>sed -i "/^[0-9]\{1,2\}\./d" 1.txt
C:\Test>type 1.txt
专辑: 玻璃 EP
歌手: 朱茵
发行时间: 1997年03月
语言: 粤语
09火65.巴荔
9879.的心
C:\Test>sed --version
sed (GNU sed) 4.2.2 [b]回复 [url=http://www.bathome.net/redirect.php?goto=findpost&pid=221629&ptid=53223]10#[/url] [i]Batcher[/i] [/b]
sed -i "/^[0-9]\{1,2\}\./d" 1.txt
~~
原来这里是要引号的,我这里也通过了啊。
sed -i "/^[0-9]\{1,2\}\./d" yrz.txt
cat yrz.txt
专辑: 玻璃 EP
歌手: 朱茵
发行时间: 1997年03月
语言: 粤语
09火65.巴荔
9879.的心
现在可以了,谢谢。
页:
[1]