sed命令 shell变量 特殊字符

时间:2022-09-06 15:37:28
s e d是一个非交互性文本流编辑器。它编辑文件或标准输入导出的文本拷贝。标准输入可能是来自键盘、文件重定向、字符串或变量,或者是一个管道的文本。s e d可以做些什么呢?
别忘了,Vi也是一个文本编辑器。s e d可以随意编辑小或大的文件,有许多s e d命令用来编辑、删除,并允许做这项工作时不在现场。s e d一次性处理所有改变,因而变得很有效,对用户来
讲,最重要的是节省了时间。

1.sed基本用法

s e d选项如下:
n 不打印;s e d不写编辑行到标准输出,缺省为打印所有行(编辑和未编辑)。p命令可以用来打印编辑行。
c 下一命令是编辑命令。使用多项编辑时加入此选项。如果只用到一条s e d命令,此选项无用,但指定它也没有关系。
f 如果正在调用s e d脚本文件,使用此选项。此选项通知s e d一个脚本文件支持所有的s e d命令,例如:sed -f myscript.sed input_file,这里m y s c r i p t . s e d即为支持s e d命令的文件。
sed命令 shell变量 特殊字符

2.sed中使用shell变量

inputfile1="aaaaa"
sed -e '2s/.*/'"${inputfile1}"'/' load.ctl > load.tmp
表示把load.ctl中第二行替换为变量的内容。

3.变量中有特俗字符,比如含有“/”

inputfile1="/iptv_jf/IPTV_POINT_DET"${gzipdate}"01.txt"
sed -e '2s%.*%'"${inputfile1}"'%' load.ctl > load.tmp
功能同上。即把原来用“/”单斜线做为sed命令的分割符换成了用“%”做为分隔符。