Cut工具
用于剪切数据
基本用法
cut[选项参数] filename
说明:默认分隔符是制表符
选项参数 | 功能 |
---|
-f | 列号,提取第几列 |
-d | 分隔符,按照指定分隔符分割列 |
举个栗子
准备数据
1 2 3 4 5 6 7 8
| [root@b09ed0cc2c9d local]# touch cut.txt [root@b09ed0cc2c9d local]# vim cut.txt
dong shen guan zhen wo wo lai lai le le
|
切割第一列数据
1 2 3 4 5 6
| [root@b09ed0cc2c9d local]# cut -d " " -f 1 cut.txt dong guan wo lai le
|
切割第二,三列
1 2 3 4 5 6
| [root@b09ed0cc2c9d local]# cut -d " " -f 2,3 cut.txt shen zhen wo lai le
|
在cut.txt文件切割出guan
1 2 3 4 5 6 7 8 9 10 11 12
| [root@b09ed0cc2c9d local]# cat cut.txt dong shen guan zhen wo wo lai lai le le [root@b09ed0cc2c9d local]# [root@b09ed0cc2c9d local]# cat cut.txt | grep guan guan zhen [root@b09ed0cc2c9d local]# cat cut.txt | grep guan | cut -d " " -f 1 guan [root@b09ed0cc2c9d local]#
|
选取系统PATH变量值,第二个“:”之后的所有路径
1 2 3 4
| [root@b09ed0cc2c9d local]# echo $PATH /usr/local/java/jdk1.8.0_181/bin:/usr/local/sbin:/usr/local/bin:/usr/sbin:/usr/bin:/sbin:/bin [root@b09ed0cc2c9d local]# echo $PATH | cut -d : -f 3- # 不加-表示第三列,加上-表示第三列之后 /usr/local/bin:/usr/sbin:/usr/bin:/sbin:/bin
|
切割ifconfig后打印的IP地址
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22
| [root@b09ed0cc2c9d local]# ifconfig eth0: flags=4163<UP,BROADCAST,RUNNING,MULTICAST> mtu 1500 inet 172.17.0.2 netmask 255.255.0.0 broadcast 0.0.0.0 inet6 fe80::42:acff:fe11:2 prefixlen 64 scopeid 0x20<link> ether 02:42:ac:11:00:02 txqueuelen 0 (Ethernet) RX packets 8 bytes 656 (656.0 B) RX errors 0 dropped 0 overruns 0 frame 0 TX packets 8 bytes 656 (656.0 B) TX errors 0 dropped 0 overruns 0 carrier 0 collisions 0
lo: flags=73<UP,LOOPBACK,RUNNING> mtu 65536 inet 127.0.0.1 netmask 255.0.0.0 inet6 ::1 prefixlen 128 scopeid 0x10<host> loop txqueuelen 1000 (Local Loopback) RX packets 0 bytes 0 (0.0 B) RX errors 0 dropped 0 overruns 0 frame 0 TX packets 0 bytes 0 (0.0 B) TX errors 0 dropped 0 overruns 0 carrier 0 collisions 0
[root@b09ed0cc2c9d local]# ifconfig eth0 | grep "inet " | cut -d "t" -f 2 | cut -d " " -f 2 172.17.0.2 [root@b09ed0cc2c9d local]#
|
sed工具
一种流编辑器,一次处理一行内容
基本用法
sed [选项参数] command
filename
选项参数说明
选项参数 | 功能 |
---|
-a | 直接在指定列模式上进行sed的动作编辑 |
命令功能描述
命令 | 功能描述 |
---|
a | 新增,a的后面可以接字串,在下一行出现 |
d | 删除 |
s | 查找并替换 |
举个栗子
数据准备
1 2 3 4 5 6 7 8 9
| [root@b09ed0cc2c9d opt]# touch sed.txt [root@b09ed0cc2c9d opt]# vim sed.txt
dong shen guan zhen wo wo lai lai
le le
|
将mei nv 这个单词插入到 sed.txt 第二行下,打印
1 2 3 4 5 6 7 8 9
| [root@b09ed0cc2c9d opt]# sed "2a mei nv" sed.txt dong shen guan zhen mei nv wo wo lai lai
le le [root@b09ed0cc2c9d opt]#
|
删除sed.txt文件所有包含 wo 的行
1 2 3 4 5 6 7
| [root@b09ed0cc2c9d opt]# sed "/wo/d" sed.txt dong shen guan zhen lai lai
le le [root@b09ed0cc2c9d opt]#
|
将sed.txt文件中 wo 替换为 ni
1 2 3 4 5 6 7 8
| [root@b09ed0cc2c9d opt]# sed "s/wo/ni/g" sed.txt dong shen guan zhen ni ni lai lai
le le [root@b09ed0cc2c9d opt]#
|
注意:g表示global,全部替换将sed.txt文件中的第二行删除并将wo替换成ni
1 2 3 4 5 6 7
| [root@b09ed0cc2c9d opt]# sed -e "2d" -e "s/wo/ni/g" sed.txt dong shen ni ni lai lai
le le [root@b09ed0cc2c9d opt]#
|