shell高级脚本 ---sed高级编程
2018-01-20 16:00
597 查看
shell —sed高级编程
一、 xargs
二、sed高级编程
sed: stream editor 流编辑器,一行一行的读取文本内容
1、例子
2、 h\H\g\G\x!\n\N\p\P(大写)-e
sed中的n\N参考
参考2
参考3
sed参考4
3、 例子
参考
一、 xargs
find . -type d -link 2 | xargs -i mkdir -p {}/e =》创建文件夹e
二、sed高级编程
sed: stream editor 流编辑器,一行一行的读取文本内容
1、例子
文件yourfile aaa 123 123 123 123 eee Command: sed -i '/aaa/{:a;n;s/123/xyz/g;/eee/!ba}' youfile explain: 先匹配aaa, 匹配到后执行大括号里的语句 n: 读取下一行 s/123/xyz/g: 将123替换为xyz,全局替换,同一行中出现几次替换几次 :a -> 设定跳转标签a /eee/!ba -> 若当前行匹配不上eee,则跳转到标签a处继续执行,构成一个循环。若匹配到eee,则退出循环,sed重新对读入的每行匹配aaa 由于sed没有加-n静默选项,所有默认对每行数据处理后都打印
2、 h\H\g\G\x!\n\N\p\P(大写)-e
h: 拷贝pattern space的内容到holding buffer H: 追加pattern space 的内容到holding buffer g: 获取holding buffer 的内容,并替换pattern space G: 获取holding buffer 的内容,并追加pattern space !: 表示后面的命令对所有没有被选定的行发生作用 x: 互换pattern space和holding buffer中的文本 n:读取下一行文本到pattern space,并从下一条命令而不是第一条命令开始对其处理,并且p打印只针对新加入的行 N: 读取下一行文本到pattern space并将pattern space空间中的行当做一行处理,p打印针对所有的行 P: 打印pattern space中的第一行(大写) p: 打印pattern space中的最后一行 -e: 允许多点编辑 如: sed -e '/test/h' -e '$G' file -> 读取file中的所有的行,一次读取一行,当读取的当前行匹配test时,将行替换holding模式空间内容(h),当读取到最后一行($)时,将holding空间中的内容追加到模式空间(G),并默认数据 -n: 使用安静模式,在一般sed的用法中,所有来自stdin的资料一般都会被列出到屏幕上,加-n后,则不会输出,除非用p命令
sed中的n\N参考
参考2
参考3
sed参考4
3、 例子
// file aaa bbb 432 aaa 1234343 bbb 34534 Demand: 获取aaa和bbb之间的内容,并打印出来 Command2: sed -n '/aaa/{/bbb/ba;:c;N;/bbb/!bc;p;b;:a;p;}' file explain: 读取文件file,若当前行命中aaa,且当前行命中bbb,则跳转到标签a处执行打印(不跨行);否则,读取下一行,并判断是否命中bbb,如果没有命中,则跳转到标签c处,并继续判断是否命中bbb,如果命中了,则打印,并跳转到结尾
参考
相关文章推荐
- Shell脚本高级编程 一 初识sed和gawk
- Linux学习-高级shell脚本编程(二)初识sed和gawk
- shell脚本编程:sed命令编辑文本
- shell脚本编程5:sed增删改查
- *Linux Shell 高级编程技巧3----运行级别脚本介绍
- *Linux Shell 高级编程技巧4----几个常用的shell脚本例子
- 高级shell脚本编程之重定向、环境变量、shell函数、echo命令用法
- Linux学习-高级shell脚本编程(一)函数的妙用
- Linux Shell编程四:高级shell脚本
- Linux&shell之高级Shell脚本编程-创建函数
- shell脚本学习笔记 (sed的高级用法----模式空间和保持空间)
- Linux命令shell脚本编程学习笔记-18章初识sed和gawk
- Linux&shell之高级Shell脚本编程-创建函数
- Shell脚本高级编程 二 正则表达式
- Shell脚本编程与sed,awk工具的使用--9月15日课程作业
- Shell脚本高级编程笔记一
- Linux&shell之高级Shell脚本编程-创建菜单
- shell脚本高级编程
- 18道Shell高级编程企业实战题及参考答案
- Linux Shell编程(3)——运行shell脚本