shell --- sed 命令

内容替换

sed命令经常用于替换字符串,格式为"sed -i 's/旧字符串/新字符串/g' 文件名",注意有单引号,下同。

其中的-i表示实质改变文件内容,如果缺少则不会改变文件;g表示全局替换,如果缺少则只会替换每一行第一次出现的字符串,如下面所示:

# 将test.txt中所有的a替换为A
sed -i 's/a/A/g' test.txt

把 AAA # GENERIC_SERIAL 改为 BBB # GENERIC_SERIAL

sed -i -e '/# GENERIC_SERIAL/s~^.*#~BBB #~' /etc/inittab

删除内容

sed命令可以进行删除行的操作,格式为"sed ‘开始删的行数,结束删的行数d’ 文件名":

# 将test.txt中第1到第5行删除
sed '1,5d' test.txt

# 删除test.txt的空行
# 其中^表示行首而$表示行尾,合在一起便表示中间无内容即空行了
sed '/^$/d' test.txt

打印内容

sed还可以进行打印操作,输出指定行,格式为''sed -n 开始打印的行数,结束打印的行数p 文件名'':

# 打印test.txt中第4到第7行
sed -n '4,7p' test.txt

 

posted @ 2024-06-18 15:00  流水灯  阅读(35)  评论(0)    收藏  举报