sed(Stream EDitorsed )

[options] 'command' file(s) 【sed  [选项]   '操作'   参数】

sed 有关内容替换的命令介绍:

options(选项)

  • -e command,--expression=command允许多台编辑。
  • -i  直接编辑文本文件。

替换:s 命令 

  • 替换指定的字符串

 

例: 例子只是其中的一种实现方式,有很多同等命令,命令大多都是使用多了就会得心应手

例子a.txt文件里面的内容

A.  执行命令: sed -e 's/th1/apple/g' a.txt         # th1->apple   替换的结果输出,但是不修改源文件

git Bash 的执行结果:

根据执行结果看出替换成功,但是a.txt文件中的内容没有改变

 

 B.   执行命令: sed -i 's/th1/apple/g' a.txt         th1->apple   替换的结果输出,修改源文件

git Bash 的执行结果:

运行结果不输出,直接看文件a.txt

使用命令 -i a.txt文件内容会直接被修改

一般都会保留源文件不修改,所以-i使用时需要多注意。

 

 C.   执行命令:sed -e 's/th1/apple/g' a.txt 1>a_$$       # 替换的结果输出到临时文件,源文件内容不修改 

 ****这里的【$$】指的是 执行的版本号,git bash每次打卡的版本号不一样,这里例子的版本号1634 ,如果不关闭git bash 版本号一值是1634

git Bash 的执行结果:

 

D. 执行命令: sed -e 's/th1/apple/g ; s/th2/yellow/g' a.txt 1>a_$$    #th1->apple , th2->yellow 同时替换,并输出到a_$$ 文件里面

等同命令:cat a.txt|sed 's/th1/apple/g ; s/th2/yellow/g' 1>a_$$    # cat查看a文件,a文件里面内容作为sed的输入,执行完替换之后输出到a_$$文件

 

E.执行命令: sed -e '/^$/d' a.txt 1>a_$$    #去除a.txt文件里面的空行,并输出到a_$$ 文件里面

 

参考资料:

SED(Linux指令)_百度百科 (baidu.com)

 

posted on 2023-01-31 15:28  爱吃玉米的tutu  阅读(179)  评论(0编辑  收藏  举报