一、cut
cut的工作就是"剪",具体的说就是在文件中负责剪切数据用的。cut命令从文件的每一行剪切字节、字符和字段,并将这些字节,字符和字段输出。
使用方法
cut 选项 文件名
选项
选项 | 功能 |
-f | 列号,取第几列,多个用逗号隔开 |
-d | 分隔符,按照指定的分隔符分隔列,默认是制表符"\t" |
-c | 按字符进行切割,后加n,表示取第n列,比如:-c 1 |
得到ifconfig中本机ip地址:
ifconfig ens33 | grep netmask | cut -d " " -f 10
得到ifconfig中所有ip地址:
ifconfig | grep netmask | cut -d " " -f 10
二、awk
一个强大的文本分析工具,把文件逐行读入,以空格为默认分隔符将每行切片,切开的部分再进行分析处理。
使用方法
awk 选项 “pattern1{action1} pattern2{action2}…” 文件名
pattern:表示awk数据中要查找的数据内容,就是匹配模式
action:在查找匹配内容时,所执行的一系列命令
{}:在{}中属于代码块,可以执行加减等操作
选项
选项参数 | 功能 |
-F | 指定输入文件拆分隔符 |
-v | 赋值一个用户定义变量 |
awk的内置变量(在代码块中直接可以调用)
变量 | 说明 |
FILENAME | 文件名 |
NR | 已读的记录行数 |
NF | 浏览记录的域的个数(切割后,列的个数) |
统计/etc/passwd,每行的行号,每行的列数,如:
awk -F ":" ‘{print FILENAME “,” NR “,” NF}’ /etc/passwd
得到ifconfig中本地ip地址:
ifconfig ens33 | awk '/netmask/ {print $2}'
得到ifconfig中所有ip地址:
ifconfig | awk '/netmask/ {print $2}'