【技术-0007-Linux shell-sed基础1】

2021-05-03  本文已影响0人  西布鲁克

shell中的sed是stream editor的简写,顾名思义,所谓流编辑器就是一种不同于vim等交互式文本编辑器,它可以根据指定的命令及参数选项来处理数据流中的数据,数据流可以是标准输入输出,也可以是文件等。sed命令一般有以下几个常用选项

可以在sed命令后用单引号具体标示需要在流编辑器中执行的编辑操作,包括替换、删除、插入、修改等具体命令

sed 's/dog/cat/' data1.txt

上面的命令,就是要在文本文件data1.txt的每一行找到第一个匹配的dog,找到后用cat来替换。这里有一个问题就是:如果某一行里即使有多个"dog",sed也只会替换第一个"dog"为"cat",而忽略第二个"dog"。如果想要争个文本文件都完成替换,需要添加一个替换标记'g'

sed 's/dog/cat/g' data1.txt 

替换标记'w'用于将替换修改的结果写入到指定的文件中

sed 's/dog/cat/w data2.txt ' data1.txt 

某些特殊字符(比如斜杠'/')在替换命令里,需要用反斜杠('')进行转义,否则脚本会报错;或者sed支持自定义其他特殊字符作为分隔符(这样,'/'就可以不需要经过''转义了)

上一篇 下一篇

猜你喜欢

热点阅读