标签:uid x86 cat 替换 取ip地址 开头 ifconfig 显示 boot
sed选项: -n 不输出模式空间内容到屏幕,不自动打印 -e 多点编辑 -p 打印 -f 从指定文件读取 -r 正则 -i.bak 备份
地址定界:指定打印多少行
默认自动打印 [root@node1 sed]# sed ‘2p‘ /etc/issue \S Kernel \r on an \m Kernel \r on an \m
正则匹配:支持正则表达式
1.以U开头的行
[root@node1 sed]# sed -n ‘/^U/p‘ /etc/fstab UUID=a380558e-07c0-4abe-a0b6-9a0d038e86fd /boot xfs defaults 0 0
?2.最后一行
[root@node1 sed]# sed -n ‘$p‘ /etc/fstab /dev/mapper/centos-swap swap swap defaults 0 0
?
3.打印2,3行
[root@node1 sed]# sed -n ‘2,3p‘ /etc/fstab UUID=a380558e-07c0-4abe-a0b6-9a0d038e86fd /boot xfs defaults 0 0 /dev/mapper/centos-swap swap swap defaults 0 0
?
4.打印1行之后的1行
[root@node1 sed]# sed -n ‘1,+1p‘ /etc/fstab /dev/mapper/centos-root / xfs defaults 0 0 UUID=a380558e-07c0-4abe-a0b6-9a0d038e86fd /boot xfs defaults 0 0
?
1~2p 奇数行
2~2p 偶数行
?
-d 删除
1.删除第一行
[root@node1 sed]# cat /etc/issue |sed ‘1d‘ Kernel \r on an \m
?
2./dev/sd开头的行
[root@node1 sed]# df |sed -n ‘/^\/dev\/sd/p‘ /dev/sda1 1038336 145088 893248 14% /boot
?
-a追加
df |sed ‘1,2a\ ====‘ 追加 文件系统 ==== /dev/mapper/centos-root 28289540 4704928 23584612 17% / ====
-i 插入
1.在1行后插入内容并自动备份之前的内容
[root@node1 sed]# sed -i.bak ‘1a "cd /tmp"‘ test [root@node1 sed]# cat test 8 "cd /tmp" [root@node1 sed]# ls test test.bak
?
c替换
[root@node1 sed]# sed ‘/^"/c 插入‘ test
?
w写入,从test.bak匹配写入到test1
[root@node1 sed]# sed ‘/^1/w test1‘ test.bak [root@node1 sed]# cat test1 1 10
r读入,从文件test1读入,符合条件的放到test.bak后面
[root@node1 sed]# sed ‘/^1/r test1‘ test.bak 1 1 10
?
!取反 去除u开头的行
[root@node1 sed]# sed -n ‘/^U/!p‘ /etc/fstab /dev/mapper/centos-root / xfs defaults 0 0 /dev/mapper/centos-swap swap swap defaults 0 0 [root@node1 sed]# sed -r ‘s@(123)@345\1@‘ test 345123456 11111 345123
截取ip地址
[root@node1 sed]# ifconfig ens33 ens33: flags=4163<UP,BROADCAST,RUNNING,MULTICAST> mtu 1500 inet 192.168.146.128 netmask 255.255.255.0 broadcast 192.168.146.255
?
[root@node1 sed]# ifconfig ens33 |sed -n ‘2p‘ |sed ‘s@.*inet@@‘ |sed ‘s@netmask.*@@‘ 192.168.146.128
?
[root@node1 sed]# ifconfig ens33|sed -n ‘2p‘ |sed -rn ‘s@.*inet (.*) netmask.* @\1@p‘ 192.168.146.128
删除不要的使用分组来显示 [root@node1 sed]# ifconfig ens33|sed -rn ‘2s@.*inet (.*) netmask.*@\1@p‘ 192.168.146.128
?
[root@node1 sed]# ifconfig ens33 | sed -r ‘2!d;s/.*inet //;s/netmask.*//‘ 192.168.146.128
?
获取os版本号
[root@node1 sed]# cat /etc/centos-release CentOS Linux release 7.5.1804 (Core) [root@node1 sed]# sed -rn ‘s/^.*release ([^.]+) .* /\1/p‘ /etc/centos-release 7 [root@node1 sed]# sed -rn ‘s/(quiet)/\1xxx/p‘ /etc/default/grub GRUB_CMDLINE_LINUX="crashkernel=auto rd.lvm.lv=centos/root rd.lvm.lv=centos/swap rhgb quietxxx" ?
.*/出现任意字符,(.+)任意字符 2个分组 分组1目录 分组2基名 [root@node1 sed]# echo ‘/etc/fstab/‘ |sed -rn ‘s@(.*/)(.+)/?@\2@p‘ fstab/
?
删除空白行
[root@node1 sed]# sed ‘/^$/d‘ /etc/issue \S Kernel \r on an \m
?
sed -r ‘/x/,/x/s/y/2/‘ /etc/issue
?
偶数行 [root@node1 sed]# seq 1 10 |sed -n ‘n;p‘ 2 4
[root@node1 sed]# ls /misc/cd/Packages/*.rpm |rev|cut -d. -f2 |rev |sort |uniq -c 2223 i686 3117 noarch 4571 x86_64 [root@node1 sed]# ls /misc/cd/Packages/*.rpm |sed -r ‘s@.*\.(.+)\.rpm$@\1@‘ |sort |uniq -c 2223 i686 3117 noarch 4571 x86_64
标签:uid x86 cat 替换 取ip地址 开头 ifconfig 显示 boot
原文地址:https://www.cnblogs.com/lzchome/p/10597573.html