cut 的工作就是 '剪', 具体的说就是在文件中负责裁剪数据用的;
cut 命令从文件的每一行剪切字节、字符、字段 并将这些字节、字段、字符 输出.
说明: 默认分隔符是制表符
cut[选项] filename
选项:
- -f: 列号, 提取第几列;
- -d: 分隔符, 按照指定分隔符分隔列;
① 准备数据
[root@hadoop1 shell]# vim cut.txt
zhang san
li si
wang wu
② 切割 cut.txt 第1/2/3列
[root@hadoop1 shell]# cut -f 1 -d " " cut.txt
zhang
li
wang
[root@hadoop1 shell]# cut -f 2 -d " " cut.txt
san
si
wu
[root@hadoop1 shell]# cut -f 3 -d " " cut.txt
③ 在 cut.txt 文件中切割出 li
[root@hadoop1 shell]# cut -f 1 -d " " cut.txt | grep 'li'
li
或者
[root@hadoop1 shell]# cat cut.txt | grep "li" | cut -d " " -f 1
li
④ 选取系统 PATH 变量值, 取第二个 :
后所有的路径
[root@hadoop1 shell]# echo $PATH | cut -d ":" -f 2-
/usr/local/bin:/usr/sbin:/usr/bin:/usr/java/jdk1.8.0_144/bin:/usr/bigdata/hadoop/hadoop-2.7.2/bin:/usr/bigdata/hadoop/hadoop-2.7.2/sbin:/usr/bigdata/zookeeper/zookeeper-3.4.10/bin:/usr/bigdata/kafka/kafka_2.11-0.11.0.2/bin:/usr/bigdata/hbase/hbase-1.3.1/bin:/usr/bigdata/scala/scala-2.11.12/bin:/usr/bigdata/spark/spark-2.1.1-bin-hadoop2.7/bin:/usr/bigdata/hive/hive/bin:/root/bin
⑤ 切割 ifconfig 后打印的IP地址
[root@hadoop1 shell]# ifconfig ens33 | grep netmask | cut -f 10 -d " "
192.168.220.15
sed是一种流编辑器,它一次处理一行内容。处理时,把当前处理的行存储在临时缓冲区中,称为“模式空间”,接着用sed命令处理缓冲区中的内容,处理完成后,把缓冲区的内容送往屏幕。接着处理下一行,这样不断重复,直到文件末尾。文件内容并没有改变,除非你使用重定向存储输出。
sed[选项参数] 'command' filename