linux sed命令使用
2014-10-12 15:48
429 查看
sed是一个很好的文件处理工具,本身是一个管道命令,主要是以行为单位进行处理,可以将数据行进行替换、删除、新增、选取等特定工作,下面先了解一下sed的用法
sed命令行格式为:
sed [-nefri] ‘command’ 输入文本
常用选项:
-n∶使用安静(silent)模式。在一般 sed 的用法中,所有来自 STDIN的资料一般都会被列出到萤幕上。但如果加上 -n 参数后,则只有经过sed 特殊处理的那一行(或者动作)才会被列出来。
-e∶直接在指令列模式上进行 sed 的动作编辑;
-f∶直接将 sed 的动作写在一个档案内, -f filename 则可以执行 filename 内的sed 动作;
-r∶sed 的动作支援的是延伸型正规表示法的语法。(预设是基础正规表示法语法)
-i∶直接修改读取的档案内容,而不是由萤幕输出。
常用命令:
a ∶新增, a 的后面可以接字串,而这些字串会在新的一行出现(目前的下一行)~
c ∶取代, c 的后面可以接字串,这些字串可以取代 n1,n2 之间的行!
d ∶删除,因为是删除啊,所以 d 后面通常不接任何咚咚;
i ∶插入, i 的后面可以接字串,而这些字串会在新的一行出现(目前的上一行);
p ∶列印,亦即将某个选择的资料印出。通常 p 会与参数 sed -n 一起运作~
s ∶取代,可以直接进行取代的工作哩!通常这个 s 的动作可以搭配正规表示法!例如 1,20s/old/new/g 就是啦!删除某行
显示某行
使用模式进行查询
代替一行或多行
sed命令行格式为:
sed [-nefri] ‘command’ 输入文本
常用选项:
-n∶使用安静(silent)模式。在一般 sed 的用法中,所有来自 STDIN的资料一般都会被列出到萤幕上。但如果加上 -n 参数后,则只有经过sed 特殊处理的那一行(或者动作)才会被列出来。
-e∶直接在指令列模式上进行 sed 的动作编辑;
-f∶直接将 sed 的动作写在一个档案内, -f filename 则可以执行 filename 内的sed 动作;
-r∶sed 的动作支援的是延伸型正规表示法的语法。(预设是基础正规表示法语法)
-i∶直接修改读取的档案内容,而不是由萤幕输出。
常用命令:
a ∶新增, a 的后面可以接字串,而这些字串会在新的一行出现(目前的下一行)~
c ∶取代, c 的后面可以接字串,这些字串可以取代 n1,n2 之间的行!
d ∶删除,因为是删除啊,所以 d 后面通常不接任何咚咚;
i ∶插入, i 的后面可以接字串,而这些字串会在新的一行出现(目前的上一行);
p ∶列印,亦即将某个选择的资料印出。通常 p 会与参数 sed -n 一起运作~
s ∶取代,可以直接进行取代的工作哩!通常这个 s 的动作可以搭配正规表示法!例如 1,20s/old/new/g 就是啦!删除某行
abc@al1:/.fj/0/5da/0828$ sed '1d' build.prop # autogenerated by buildinfo.sh ro.build.id=KVT49L ro.build.display.id=MID7198_SV3.0_20140828 ro.build.version.incremental=20140828 ro.build.version.sdk=19 ro.build.description=astar_chiphd-eng 4.4.2 KVT49L 20140828 test-keys ro.build.fingerprint=eSTAR/astar_chiphd/astar-chiphd:4.4.2/KVT49L/20140827:eng/test-keys ro.build.characteristics=tablet # end build properties abc@al1:/.fj/0/5da/0828$ abc@al1:/.fj/0/5da/0828$ cat build.prop # begin build properties # autogenerated by buildinfo.sh ro.build.id=KVT49L ro.build.display.id=MID7198_SV3.0_20140828 ro.build.version.incremental=20140828 ro.build.version.sdk=19 ro.build.description=astar_chiphd-eng 4.4.2 KVT49L 20140828 test-keys ro.build.fingerprint=eSTAR/astar_chiphd/astar-chiphd:4.4.2/KVT49L/20140827:eng/test-keys ro.build.characteristics=tablet # end build properties abc@al1:/.fj/0/5da/0828$ sed '$d' build.prop # begin build properties # autogenerated by buildinfo.sh ro.build.id=KVT49L ro.build.display.id=MID7198_SV3.0_20140828 ro.build.version.incremental=20140828 ro.build.version.sdk=19 ro.build.description=astar_chiphd-eng 4.4.2 KVT49L 20140828 test-keys ro.build.fingerprint=eSTAR/astar_chiphd/astar-chiphd:4.4.2/KVT49L/20140827:eng/test-keys ro.build.characteristics=tablet abc@al1:/.fj/0/5da/0828$ sed '1,2d' build.prop ro.build.id=KVT49L ro.build.display.id=MID7198_SV3.0_20140828 ro.build.version.incremental=20140828 ro.build.version.sdk=19 ro.build.description=astar_chiphd-eng 4.4.2 KVT49L 20140828 test-keys ro.build.fingerprint=eSTAR/astar_chiphd/astar-chiphd:4.4.2/KVT49L/20140827:eng/test-keys ro.build.characteristics=tablet # end build properties abc@al1:/.fj/0/5da/0828$ sed '2,$d' build.prop
显示某行
abc@al1:/.fj/0/5da/0828$ sed -n '1p' build.prop # begin build properties abc@al1:/.fj/0/5da/0828$ sed -n '$p' build.prop # end build properties abc@al1:/.fj/0/5da/0828$ sed -n '1,2p' build.prop # begin build properties # autogenerated by buildinfo.sh abc@al1:/.fj/0/5da/0828$ sed -n '2,$p' build.prop # autogenerated by buildinfo.sh ro.build.id=KVT49L ro.build.display.id=MID7198_SV3.0_20140828 ro.build.version.incremental=20140828 ro.build.version.sdk=19 ro.build.description=astar_chiphd-eng 4.4.2 KVT49L 20140828 test-keys ro.build.fingerprint=eSTAR/astar_chiphd/astar-chiphd:4.4.2/KVT49L/20140827:eng/test-keys ro.build.characteristics=tablet # end build properties abc@al1:/.fj/0/5da/0828$
使用模式进行查询
abc@al1:/.fj/0/5da/0828$ cat build.prop # begin build properties # autogenerated by buildinfo.sh ro.build.id=KVT49L ro.build.display.id=MID7198_SV3.0_20140828 ro.build.version.incremental=20140828 ro.build.version.sdk=19 ro.build.description=astar_chiphd-eng 4.4.2 KVT49L 20140828 test-keys ro.build.fingerprint=eSTAR/astar_chiphd/astar-chiphd:4.4.2/KVT49L/20140827:eng/test-keys ro.build.characteristics=tablet # end build properties abc@al1:/.fj/0/5da/0828$ sed'1a add in line 1' build.prop abc@al1:/.fj/0/5da/0828$ cat build.prop # begin build properties # autogenerated by buildinfo.sh ro.build.id=KVT49L ro.build.display.id=MID7198_SV3.0_20140828 ro.build.version.incremental=20140828 ro.build.version.sdk=19 ro.build.description=astar_chiphd-eng 4.4.2 KVT49L 20140828 test-keys ro.build.fingerprint=eSTAR/astar_chiphd/astar-chiphd:4.4.2/KVT49L/20140827:eng/test-keys ro.build.characteristics=tablet # end build properties abc@al1:/.fj/0/5da/0828$ sed '1a add in line 1' build.prop # begin build properties add in line 1 # autogenerated by buildinfo.sh ro.build.id=KVT49L ro.build.display.id=MID7198_SV3.0_20140828 ro.build.version.incremental=20140828 ro.build.version.sdk=19 ro.build.description=astar_chiphd-eng 4.4.2 KVT49L 20140828 test-keys ro.build.fingerprint=eSTAR/astar_chiphd/astar-chiphd:4.4.2/KVT49L/20140827:eng/test-keys ro.build.characteristics=tablet # end build properties abc@al1:/.fj/0/5da/0828$ cat build.prop # begin build properties # autogenerated by buildinfo.sh ro.build.id=KVT49L ro.build.display.id=MID7198_SV3.0_20140828 ro.build.version.incremental=20140828 ro.build.version.sdk=19 ro.build.description=astar_chiphd-eng 4.4.2 KVT49L 20140828 test-keys ro.build.fingerprint=eSTAR/astar_chiphd/astar-chiphd:4.4.2/KVT49L/20140827:eng/test-keys ro.build.characteristics=tablet # end build properties abc@al1:/.fj/0/5da/0828$ sed '1, 3a add in line 1' build.prop # begin build properties add in line 1 # autogenerated by buildinfo.sh add in line 1 ro.build.id=KVT49L add in line 1 ro.build.display.id=MID7198_SV3.0_20140828 ro.build.version.incremental=20140828 ro.build.version.sdk=19 ro.build.description=astar_chiphd-eng 4.4.2 KVT49L 20140828 test-keys ro.build.fingerprint=eSTAR/astar_chiphd/astar-chiphd:4.4.2/KVT49L/20140827:eng/test-keys ro.build.characteristics=tablet # end build properties abc@al1:/.fj/0/5da/0828$ sed '1a add in line 1\n add line2' build.prop # begin build properties add in line 1 add line2 # autogenerated by buildinfo.sh ro.build.id=KVT49L ro.build.display.id=MID7198_SV3.0_20140828 ro.build.version.incremental=20140828 ro.build.version.sdk=19 ro.build.description=astar_chiphd-eng 4.4.2 KVT49L 20140828 test-keys ro.build.fingerprint=eSTAR/astar_chiphd/astar-chiphd:4.4.2/KVT49L/20140827:eng/test-keys ro.build.characteristics=tablet # end build properties abc@al1:/.fj/0/5da/0828$
代替一行或多行
abc@al1:/.fj/0/5da/0828$ cat build.prop # begin build properties # autogenerated by buildinfo.sh ro.build.id=KVT49L ro.build.display.id=MID7198_SV3.0_20140828 ro.build.version.incremental=20140828 ro.build.version.sdk=19 ro.build.description=astar_chiphd-eng 4.4.2 KVT49L 20140828 test-keys ro.build.fingerprint=eSTAR/astar_chiphd/astar-chiphd:4.4.2/KVT49L/20140827:eng/test-keys ro.build.characteristics=tablet # end build properties abc@al1:/.fj/0/5da/0828$ sed '1c TEST' build.prop TEST # autogenerated by buildinfo.sh ro.build.id=KVT49L ro.build.display.id=MID7198_SV3.0_20140828 ro.build.version.incremental=20140828 ro.build.version.sdk=19 ro.build.description=astar_chiphd-eng 4.4.2 KVT49L 20140828 test-keys ro.build.fingerprint=eSTAR/astar_chiphd/astar-chiphd:4.4.2/KVT49L/20140827:eng/test-keys ro.build.characteristics=tablet # end build properties abc@al1:/.fj/0/5da/0828$ sed '1,2c TEST' build.prop TEST ro.build.id=KVT49L ro.build.display.id=MID7198_SV3.0_20140828 ro.build.version.incremental=20140828 ro.build.version.sdk=19 ro.build.description=astar_chiphd-eng 4.4.2 KVT49L 20140828 test-keys ro.build.fingerprint=eSTAR/astar_chiphd/astar-chiphd:4.4.2/KVT49L/20140827:eng/test-keys ro.build.characteristics=tablet # end build properties abc@al1:/.fj/0/5da/0828$ sed -n '/id/p' build.prop | sed 's/id/number/g' ro.build.number=KVT49L ro.build.display.number=MID7198_SV3.0_20140828 abc@al1:/.fj/0/5da/0828$ cat build.prop # begin build properties # autogenerated by buildinfo.sh ro.build.id=KVT49L ro.build.display.id=MID7198_SV3.0_20140828 ro.build.version.incremental=20140828 ro.build.version.sdk=19 ro.build.description=astar_chiphd-eng 4.4.2 KVT49L 20140828 test-keys ro.build.fingerprint=eSTAR/astar_chiphd/astar-chiphd:4.4.2/KVT49L/20140827:eng/test-keys ro.build.characteristics=tablet # end build properties abc@al1:/.fj/0/5da/0828$ sed -n '/id/p' build.prop | sed 's/id//g' ro.build.=KVT49L ro.build.display.=MID7198_SV3.0_20140828 abc@al1:/.fj/0/5da/0828$ sed -n '/id/p' build.prop | sed 's/id//g' ^C abc@al1:/.fj/0/5da/0828$ cat build.prop # begin build properties # autogenerated by buildinfo.sh ro.build.id=KVT49L ro.build.display.id=MID7198_SV3.0_20140828 ro.build.version.incremental=20140828 ro.build.version.sdk=19 ro.build.description=astar_chiphd-eng 4.4.2 KVT49L 20140828 test-keys ro.build.fingerprint=eSTAR/astar_chiphd/astar-chiphd:4.4.2/KVT49L/20140827:eng/test-keys ro.build.characteristics=tablet # end build properties abc@al1:/.fj/0/5da/0828$ sed -i "s/ro.build.fingerprint=.*/ro.build.fingerprint=TEST\/astar_chiphd\/astar-chiphd:4.4.2\/KVT49L\/20140828:eng\/test-keys/" build.prop abc@al1:/.fj/0/5da/0828$ cat build.prop # begin build properties # autogenerated by buildinfo.sh ro.build.id=KVT49L ro.build.display.id=MID7198_SV3.0_20140828 ro.build.version.incremental=20140828 ro.build.version.sdk=19 ro.build.description=astar_chiphd-eng 4.4.2 KVT49L 20140828 test-keys ro.build.fingerprint=TEST/astar_chiphd/astar-chiphd:4.4.2/KVT49L/20140828:eng/test-keys ro.build.characteristics=tablet # end build properties abc@al1:/.fj/0/5da/0828$ sed -i "s/ro.build.fingerprint=.*/ro.build.fingerprint=TEST\/astar_chiphd\/astar-chiphd:4.4.2\/KVT49L\/20140828:eng\/test-keys/" build.prop ^C abc@al1:/.fj/0/5da/0828$ cat build.prop # begin build properties # autogenerated by buildinfo.sh ro.build.id=KVT49L ro.build.display.id=MID7198_SV3.0_20140828 ro.build.version.incremental=20140828 ro.build.version.sdk=19 ro.build.description=astar_chiphd-eng 4.4.2 KVT49L 20140828 test-keys ro.build.fingerprint=TEST/astar_chiphd/astar-chiphd:4.4.2/KVT49L/20140828:eng/test-keys ro.build.characteristics=tablet # end build properties abc@al1:/.fj/0/5da/0828$
相关文章推荐
- linux sed命令使用方法
- linux sed命令使用详解
- linux sed命令使用总结
- linux sed删除d命令使用举例
- linux sed 命令的使用
- linux sed命令使用一些小问题整理
- linux sed命令使用
- linux sed命令的一些使用见解
- linux sed命令使用小结
- Linux sed命令使用方法
- Linux sed命令使用介绍,修改文件很方便
- linux sed 命令使用
- Linux sed 替换文本命令 实战在html页面使用
- linux sed命令使用
- FTP使用命令详解(转)
- SQL Server中使用外部命令执行sql脚本
- SQL*PLUS命令的使用大全
- SQL Server中使用外部命令执行sql脚本
- 批处理文件中使用的命令的详细信息
- ar和nm命令的使用