把sed当作命令解释器使用】的更多相关文章

[root@sishen ~]# vim script.sed #!/bin/sed -f #交换第一列和第二列 s/\([^,]*\),\([^,]*\),\(.*\).*/\2,\1, \3/g #把整行内容放入<>中 s/^.*/<&>/ #把Developer替换为IT Manager s/Developer/IT Manager/ #把Manager替换为DIrectory s/Manager/Directory/ 添加可执行权限 [root@sishen ~]#…
文本间隔:  # 在每一行后面增加一空行  sed G # 将原来的所有空行删除并在每一行后面增加一空行.  # 这样在输出的文本中每一行后面将有且只有一空行.  sed '/^$/d;G' # 在每一行后面增加两行空行  sed 'G;G' # 将第一个脚本所产生的所有空行删除(即删除所有偶数行)  sed 'n;d' # 在匹配式样“regex”的行之前插入一空行  sed '/regex/{x;p;x;}' # 在匹配式样“regex”的行之后插入一空行  sed '/regex/G' #…
sed替换命令 语法为: sed ' [ address-range | pattern-range ] s/original-string/replacement-string/[substitute-flags] 'input-file l address-range或pattern-range(即地址范围和模式范围)是可选的,如果没有指定,那么sed将在所有行上进行替换 l s即执行替换命令substitute l original-string是被sed搜索然后被替换的字符串,它可以是一…
sed的语法格式: sed [option] {sed-command} {input-file} sed在正常情况下,将处理的行读入模式空间(pattern space),脚本中的“sed-command(sed命令)”就一条接着一条进行处理,知道脚本执行完毕.然后该行呗输出,模式(pattern space)被清空:接着,在重复执行刚才的动作,文件中的新的一行被读入,直到文件处理完毕. 但是,由于种种原因,如用户希望在某个条件下,脚本中的某个命令被执行或希望模式空间(pattern spac…
追加命令(命令a) sed '[address] a the-line-to-append' input-file 在第二行后面追加一行(原文这里可能有问题,没有写名行号) [root@sishen ~]# sed '2 a 203,Jack Johnson,Engineer' employee.txt 101,Johnnynynyny Doe,CEO 102,Jason Smith,IT Manager 203,Jack Johnson,Engineer 103,Raj Reddy,Sysad…
https://wangchujiang.com/linux-command/c/sed.html https://linux.cn/article-11367-1.html https://juejin.im/entry/586360f3570c3500695501d6 高级点的 http://kodango.com/sed-and-awk-notes-part-4 正则表达式 https://blog.csdn.net/IMW_MG/article/details/78705359 sed的…
[root@b ~]# cat f.txt inet addr:192.168.0.110 Bcast:192.168.0.255 Mask:255.255.255.0[root@b ~]# cat f.txt | sed -nr 's/^.*inet addr:(.*) Bcast:.*$/ip:\1/gp'ip:192.168.0.110[root@b ~]# cat f.txt | sed -nr 's/^.*inet addr:(.*) Bcast:(.*) Mask:.*$/ip:\1…
输入文件不会被修改,sed 只在模式空间中执行替换命令,然后输出模式空间的内容.文本文件 employee.txt 101,John Doe,CEO 102,Jason Smith,IT Manager 103,Raj Reddy,Sysadmin 104,Anand Ram,Developer 105,Jane Miller,Sales Manager 1.用 Director 替换所有行中的 Manager 替换命令用到参数s 注意代码格式 [root@localhost /]# sed '…
所谓高级,主要是指这里将要提到的命令都能改变sed执行或者控制的流程顺序(sed通常都是一行被读入模式空间,并用脚本中的sed命令一个接一个的应用于那一行). 高级sed命令分成3个组: 1)处理多行模式空间(N.D.P). 2)采用保持空间来保存模式空间的内容并使他们可用于后续的命令(H.h.G.g.x). 3)编写使用分支和条件指令的脚本来更改控制流(:.b.t). 1.N命令:追加下一行 多行Next(N)命令通过读取当前行的下一行,并把两行拼成一行来进行接下来的处理. shenweiya…
这是自己最近学习Linux系统编程之后写的一个练手的小程序,能很好地复习系统编程中的进程管理.信号.管道.文件等内容. 通过回顾写的过程中遇到的问题的形式记录程序的关键点,最后给出完整程序代码. 0. Tinyshell的功能 这个简易的shell解释器可以解析磁盘命令,支持管道和输入输出重定向,内置命令只实现了exit,可以判定后台执行命令(&),但未实现bg功能(后台命令直接返回). 1. shell是如何运行程序的 基本的模式就是主进程从键盘获取命令.解析命令,并fork出子进程执行相应的…