-
最新文章
-
最新评论
-
jiaoshou0416:大家觉得docker应该从哪里入手学习,难点在哪里?
-
jiaoshou0416:有学习心得的朋友,欢迎留言,刚开始学习,不足之处,希望多多指正。
-
wx5fd6bf99db3db:十分感谢~!
-
发愤涂墙:加油,共同进步
-
希特勒1944:OK
-
目录
-
部分内容参考如下链接
https://www.runoob.com/linux/linux-comm-sed.html?hmsr=toutiao.io
表示点所在位置可以表示任意一个字符,
我们做一个测试文本
cp /etc/passwd test.txt
在test.txt 行首加一行raao
sed -i '1i'\raao test.txt
grep 'r.o' test.txt
要想获取raao 行,可以使用
{n} 表示匹配前面字符n次egrep 'r.{2}o' test.txt
编辑 test.txt 文件加入三行, rooot,rot,rt
sed -i '1i'\ rooot test.txt
sed -i '1i'\ rot test.txt
sed -i '1i'\ rt test.txt
egrep 'roo?t' test.txt
egrep 'ro+t' test.txt
egrep 'ro*t' test.txt
sed 用法补充
动作说明:
a :新增, a 的后面可以接字串,而这些字串会在新的一行出现(目前的下一行)~
c :取代, c 的后面可以接字串,这些字串可以取代 n1,n2 之间的行!
d :删除,因为是删除啊,所以 d 后面通常不接任何咚咚;
i :插入, i 的后面可以接字串,而这些字串会在新的一行出现(目前的上一行);
p :打印,亦即将某个选择的数据印出。通常 p 会与参数 sed -n 一起运行~
s :取代,可以直接进行取代的工作哩!通常这个 s 的动作可以搭配正规表示法!例如 1,20s/old/new/g 就是啦!
打印第一行sed -n 1p test.txt
打印前两行sed -n 1,2p test.txt
删除前3行后打印10行sed 1,3d test.txt |head
查询后删除sed '/root/d' test.txt |head
可以分为a在当前行的下一行插入,i 在当前行的上一行插入
在文本开头插入sed '1i'\up test.txt
在文本结尾插入sed '$a'\down test.txt
取代前4行内容为replace1-4输出sed '1,4c replace1-4' test.txt
做一个全局替换将nologin替换为longoutsed 's/nologin/longout/g' test.txt
数据查找并替换ifconfig ens33 |grep '\binet\b' |sed 's/^.*inet//g' |sed 's/netmask.*$//g'
相当于ifconfig ens33 |grep '\binet\b' |awk '{print $2}'
备注:grep' \b\b'
\b单词锁定符,如: '\binet\b'只匹配inet,相当于-w 选项
赞赏
0人进行了赞赏支持
0
收藏
Ctrl+Enter 发布
发布
取消