标签:文件 addr 正则表达式 文本处理 命令 sed 内容 三剑客
Linux文本处理三剑客之sed命令
1、sed命令作为流编辑器,对文本以行为单位进行编辑,但是sed命令只会编辑文件,不会改变源文件的内容。
2、sed的工作原理:指定一个文本文件依次读取文本文件中每行的内容,读取到模式空间中(PATTERN SPACE),在模式空间中进行文本匹配(正则表达式),对匹配后的内容进行修改(替换、删除、 打印、修改、保存等)
3、sed用法:sed [参数] "sed自己独立的用法格式的语句" [文本文件]
4、常见选项:-n:取消默认输出
-r:指定使用扩展的正则表达式
-e:后面加脚本(如for,while等命令)
-f:指定脚本文件
-l:指定文本的换行长度
-i:修改文件内容
5、地址定界方式:1、直接匹配数值 (sed -n‘5~7p’)
2、步长 (sed -n‘1~3p’文件)
3、$ 指定行尾 (sed -n‘10,$p’文件)
4、正则表达式 (sed -n ‘/k\{5,\},$p’ abc)【正则写在前面就没有问题,写在后面就有问题】
5、0,addr (addr可以为数字/$/正则表达式)
6、addr +n (配置到addr行到addr后n行)
6、常见命令:p:print 打印(默认在屏幕上显示出来)建议和-n一起使用
c:替换 例:sed “/aaa/c \A” a(a是文件名)
d:删除行 例:sed “/aaa/d” a
sed “1,3d” a
n N:读取/添加 模式匹配到的行的下一行的内容,再对其进行操作
w:保存文件内容到一个新的文件 例:Sed “/k/w tmp/aabbcc” abc
*s*:文本内容替换,默认替换模式空间匹配到的第一项
标签:文件,addr,正则表达式,文本处理,命令,sed,内容,三剑客 来源: https://www.cnblogs.com/Eucalyptusleaves/p/11421871.html
本站声明: 1. iCode9 技术分享网(下文简称本站)提供的所有内容,仅供技术学习、探讨和分享; 2. 关于本站的所有留言、评论、转载及引用,纯属内容发起人的个人观点,与本站观点和立场无关; 3. 关于本站的所有言论和文字,纯属内容发起人的个人观点,与本站观点和立场无关; 4. 本站文章均是网友提供,不完全保证技术分享内容的完整性、准确性、时效性、风险性和版权归属;如您发现该文章侵犯了您的权益,可联系我们第一时间进行删除; 5. 本站为非盈利性的个人网站,所有内容不会用来进行牟利,也不会利用任何形式的广告来间接获益,纯粹是为了广大技术爱好者提供技术内容和技术思想的分享性交流网站。