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_$$ 文件里面
参考资料:
标签:文件,shell,apple,th1,sed,txt,替换 From: https://www.cnblogs.com/chenhaiyanblog/p/17078884.html