原文链接:https://www.cnblogs.com/wanglijun/p/8716265.html

1.sed命令;主要作用是查找;新增 删除 和修改替换。

user.txt

Shell脚本之sed的使用教程


daokr#cat user.txt
ID    Name    Sex    Age
1    zhang    M    19
2    wang    G    20
3    cheng    M    10
4    huahua    M    100

Shell脚本之sed的使用教程

查找命令:-n 和 p(print)

在user.txt文件中;匹配带h的行 并且只显示1,3行

cat user.txt | grep h |sed -n '1,3p'

daokr#cat user.txt | grep h |sed -n '1,3p'
1    zhang    M    19
3    cheng    M    10
4    huahua    M    100

删除命令:d(delete)

删除最后一行记录

cat user.txt | grep h | sed '$d'

在user.txt中显示带h的行;并且从结果中删掉2,3行的记录;只看第一行记录

cat user.txt | grep h |sed '2,3d'

Shell脚本之sed的使用教程

daokr#cat user.txt | grep h
1    zhang    M    19
3    cheng    M    10
4    huahua    M    100
daokr#cat user.txt | grep h |sed '2,3d'
1    zhang    M    19

Shell脚本之sed的使用教程

新增数据:a (append)

在user.txt中查询出带h的行;并在第二行后面添加新的一行数据

cat user.txt | grep h |sed '2a5\thuang\tG\t40'

Shell脚本之sed的使用教程

前面插入:i (insert)

在第二行插入2行数据的签名插入新增的数据:

cat user.txt | grep h |sed '2i hello\nword'

Shell脚本之sed的使用教程

数据行替换:c

把第二行数据;用命令c替换成 10 wanghua N 90

cat user.txt | grep h |sed '2c 10\twanghua\tN\t90'

Shell脚本之sed的使用教程

字符串的替换:s

格式为“行范围s/旧字串/新字串/g”

Shell脚本之sed的使用教程

<strong>daokr#cat user.txt | grep h
</strong>1    zhang    M    19
3    cheng    M    10
4    huahua    M    100
daokr#cat user.txt | grep h |sed '2s/ch/wh/g'
1    zhang    M    19
3    wheng    M    10
4    huahua    M    100

Shell脚本之sed的使用教程

替换并写入文件:-i

把第3行的数据里的wang 替换成heee 并写入到user.txt

sed -i '3s/wang/heee/g' user.txt

Shell脚本之sed的使用教程

daokr#sed -i '3s/wang/heee/g' user.txt
daokr#cat user.txt 
ID    Name    Sex    Age
1    Fhang    M    19
2    heee    G    20
3    cheng    M    10
4    huahua    M    100

Shell脚本之sed的使用教程

多行替换:-e

sed -e 's/zhang//g ; s/wang//g' user.txt # -e允许多条命令顺序执行,用分号隔开,s前面不加数字表示所有行

sed -e 's/he/wl/g;s/hua/lua/g' user.txt

Shell脚本之sed的使用教程

Shell脚本之sed的使用教程

daokr#sed -e 's/he/wl/g;s/hua/lua/g' user.txt
ID    Name    Sex    Age
1    Fhang    M    19
2    wlee    G    20
3    cwlng    M    10
4    lualua    M    100

Shell脚本之sed的使用教程

标签: 脚本, grep, cat, user, Shell

相关文章推荐

添加新评论,含*的栏目为必填