Cut工具
用于剪切数据
基本用法
cut[选项参数] filename
说明:默认分隔符是制表符
| 选项参数 | 功能 | 
|---|
| -f | 列号,提取第几列 | 
| -d | 分隔符,按照指定分隔符分割列 | 
举个栗子
准备数据
| 12
 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
 
 | 
切割第一列数据
| 12
 3
 4
 5
 6
 
 | [root@b09ed0cc2c9d local]# cut -d " " -f 1 cut.txtdong
 guan
 wo
 lai
 le
 
 | 
切割第二,三列
| 12
 3
 4
 5
 6
 
 | [root@b09ed0cc2c9d local]# cut -d " " -f 2,3 cut.txtshen
 zhen
 wo
 lai
 le
 
 | 
在cut.txt文件切割出guan
| 12
 3
 4
 5
 6
 7
 8
 9
 10
 11
 12
 
 | [root@b09ed0cc2c9d local]# cat cut.txtdong 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变量值,第二个“:”之后的所有路径
| 12
 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地址
| 12
 3
 4
 5
 6
 7
 8
 9
 10
 11
 12
 13
 14
 15
 16
 17
 18
 19
 20
 21
 22
 
 | [root@b09ed0cc2c9d local]# ifconfigeth0: 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 | 查找并替换 | 
举个栗子
数据准备
| 12
 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 第二行下,打印
| 12
 3
 4
 5
 6
 7
 8
 9
 
 | [root@b09ed0cc2c9d opt]# sed "2a mei nv" sed.txtdong shen
 guan zhen
 mei nv
 wo  wo
 lai  lai
 
 le  le
 [root@b09ed0cc2c9d opt]#
 
 | 
删除sed.txt文件所有包含 wo 的行
| 12
 3
 4
 5
 6
 7
 
 | [root@b09ed0cc2c9d opt]# sed "/wo/d" sed.txtdong shen
 guan zhen
 lai  lai
 
 le  le
 [root@b09ed0cc2c9d opt]#
 
 | 
将sed.txt文件中 wo 替换为 ni
| 12
 3
 4
 5
 6
 7
 8
 
 | [root@b09ed0cc2c9d opt]# sed "s/wo/ni/g" sed.txtdong shen
 guan zhen
 ni  ni
 lai  lai
 
 le  le
 [root@b09ed0cc2c9d opt]#
 
 | 
将sed.txt文件中的第二行删除并将wo替换成ni
| 12
 3
 4
 5
 6
 7
 
 | [root@b09ed0cc2c9d opt]# sed -e "2d" -e "s/wo/ni/g" sed.txtdong shen
 ni  ni
 lai  lai
 
 le  le
 [root@b09ed0cc2c9d opt]#
 
 |