linux中sed学习小结

简介:

sed行处理工具

1、显示文件中匹配行

cat tmp.txt|sed -n '/匹配字符正则/p' (-n是不打印全部文件)

2、显示文件第几行

cat tmp.txt|sed -n '1p' --第一行--

cat tmp.txt|sed -n '1,3p' --一到三行--

3、替换文件中字符

cat tmp.txt | sed 's/ee/ff/' 或者 sed 's/ee/ff/' tmp.txt --将tmp.txt文件中每行第一个匹配的ee替换为ff,不改变原文件--

cat tmp.txt | sed 's/ee/ff/g' 或者 sed 's/ee/ff/g' tmp.txt --将tmp.txt文件中,全部ee替换为ff,不改变原文件--sed 's/ee/ff/' tmp.txt > tmp2.txt --将tmp.txt文件中ee替换为ff,不改变原文件,新生成一个新的tmp2.txt文件--

改变原文件:sed -i 's/ee/ff/' tmp.txt

4、指定行替换

cat tmp.txt |sed '3,5s/ee/ff/' --将文件中3到5行替换ee为ff--

5、匹配行的替换

cat tmp.txt | sed '/^w/s/ee/ff/' --将tmp.txt文件中,以w开头行中的ee替换为ff--

cat tmp.txt | sed '/^w/,/^x/s/ee/ff/' --将tmp.txt文件中,以w开头到x开头之间的行的ee替换为ff--

6、批量重命名文件名例有文件:

aa.txt bb.txt cc.txt 将其重命为aa.jpg bb.jpg cc.jpg

ls |sed 's/\(.*\)\.txt/mv \1\.txt \1\.jpg/'|sh

\( )\为内存空间,将匹配的aa bb cc记录下来,\1为内存空间的第一个匹配生成mv的命令代码,通过sh执行--

7、删除匹配行--不显示出来,不修改源文件

只删除第二行:$ sed '2 d' employee.txt

删除1到4行:$ sed '1,4 d' employee.txt

删除从第二行到最后一行:$ sed '2,$ d' employee.txt

只删除奇数行:$ sed '1~2 d' employee.txt

删除所有包含'Manager'的行:$ sed '/Manager/ d' employee.txt

删除第一次包含'Jason'的行到第四行:$ sed '/Jason/,4 d' employee.txt

删除从第一次匹配'Raj'的行 到匹配'Jane'之间的行:$ sed '/Raj/,/Jane/ d' employee.txt

删除匹配'Jason'的行及它下面两行:$ sed '/Jason/,+2 d' employee.txt

一些有用的删除例子

从一个文件删除所有空行:sed '/^$/ d' employee.txt

删除所有注释行(假设注释以#开头):sed '/^#/ d' employee.txt



本文转自 00_yatou 51CTO博客,原文链接:http://blog.51cto.com/ql0722/1614750,如需转载请自行联系原作者

相关文章
|
6月前
|
Unix Linux 测试技术
软件测试|Linux三剑客之sed命令详解
软件测试|Linux三剑客之sed命令详解
72 0
|
3月前
|
Linux Perl
百度搜索:蓝易云【Linux中一些Sed命令技巧介绍】
这些是一些常用的Sed命令技巧,它们可以帮助你在Linux系统中对文本进行处理和转换。在使用Sed命令时,建议先使用 `-n`选项进行测试,确保结果符合预期,然后再考虑是否使用 `-i`选项将更改保存到原文件。
291 0
|
4月前
|
Linux Perl
Linux|sed命令花式批量修改文件
Linux|sed命令花式批量修改文件
93 0
|
缓存 Linux 开发工具
Linux sed命令增删改查 附代码
对应的命令进行查漏补缺以及更新知识点在起对应的进程时,每个进程都修改对应的sid(通过vim,交互式编辑),过于麻烦,有没有批量修改的语法或者语句(除了自已写一个脚本同步),答案是有的,那就是sed命令sed命令:流编辑模式,通过规则过滤来编辑数据本身该命令执行之后,会将其缓存区中的内容显示在屏幕中(实际内容其实没有改变,除非加入-i参数)group=99sid=123sid=123。......
123 0
Linux sed命令增删改查 附代码
|
存储 Linux Perl
6.9 Linux sed命令的高级玩法
《Linux sed用法详解》一节给大家介绍了如何用 sed 命令的基本功能处理文本中的数据,所涵盖的知识点,可以满足日常大多数文本编辑需求。本节将介绍 sed 提供的一些高级功能,这些功能虽不常用,但知道这些功能的存在以及用法也是有必要的。
1519 0
6.9 Linux sed命令的高级玩法
|
Linux Perl
linux之sed命令
linux之sed命令
178 0