linuxshell怎么设置字符(每天三分钟搞定linux)
linuxshell怎么设置字符(每天三分钟搞定linux)da ran fang is good.wu lin wai zhuan is good.wu lin nei zhuan这里的s是替换(substitute)的意思。建立testfile文件,文件内容如下:
除了使用vi或者vim来编辑文本,还可以使用sed和awk命令编辑器批量处理 文本,本节学习sed编辑器。sed是```流编辑器```(stream editor),根据预先定好的规则处理文本。sed一次取出一行进行处理,并把结果输出到标准输出中。
用管道给sed输入用管道给sed输入数据,举例如下:
echo "wu lin wai zhuan"|sed 's/wai/nei/'
运行后结果为:
wu lin nei zhuan
这里的s是替换(substitute)的意思。
sed命令从文本文件取数据建立testfile文件,文件内容如下:
wu lin wai zhuan is good.
da ran fang is good.
xi you ji hou zhuan is good.
然后用sed命令把所有的good改成wonderful 输入:
sed 's/good/wonderful/' testfile
结果为:
wu lin wai zhuan is wonderful.
da ran fang is wonderful.
xi you ji hou zhuan is wonderful.
注意,sed命令并不会修改testfile内容,而是把结果输出到标准输出中。
使用多个指令在使用sed命令的时候 使用多个指令的时候要用-e选项。比如想把上面的testfile中的is改成was 把good改成great。
输入:
sed -e 's/is/was/;s/good/great/' testfile
输出结果为:
wu lin wai zhuan was great.
da ran fang was great.
xi you ji hou zhuan was great.
注意命令与命令之间使用分号隔开。
把指令放到文件中有时候可以把较多的指令放进一个文件中,然后用sed命令去加载。比如建立一个文件去存储命令,建立文件sedfile 内容如下:
s/is/was/
s/good/great/
然后在sed命令后面增加```-f```参数去加载这个文件。
sed -f sedfile testfile
运行结果为:
wu lin wai zhuan was great.
da ran fang was great.
xi you ji hou zhuan was great.