10. Shell工具
-
cut
-
基本用法
cut[选项参数] filename
从文件的每一行剪切字节、字符和字段并将这些字节、字符和字段输出
-
参数说明
选项参数 功能 -f 列号,提取第几列 -d 分隔符,按照指定分隔符分割列 -
实例
#切割ip地址 enp4s0: flags=4163<UP,BROADCAST,RUNNING,MULTICAST> mtu 1500 inet 192.168.1.106 netmask 255.255.255.0 broadcast 192.168.1.255 ifconfig enp4s0 | grep "inet " | cut -d "t" -f 2- |cut -d " " -f 2
-
-
sed
-
基本介绍
sed是一种流编辑器,带缓冲的编辑器。将内容送入缓冲区进行处理,处理完毕输出到屏幕
-
基本语法
sed [选项参数] 'command' filename
-
选项参数说明
选项参数 功能 -e 直接在指令列模式上进行sed的动作编辑 -
命令功能描述
命令 功能描述 a 新增,a的后面可以接字串,在下一行出现 d 删除 s 查找并替换 -
实例
sed "2a lalala" sed.txt # 在第二行后面增加 sed "/4/d" sed.txt # 删除带有4的一行 sed "s/4/4.1/g" sed.txt #替换操作 g表示全局替换 sed -e "2d" -e "s/t/ti/g" sed.txt #多个命令 用-e 删除第二行并替换t
-
-
awk
-
基本介绍
一个强大的文本分析工具,把文件逐行的读入,以空格为默认分隔符将每行切片,切开的部分再进行分析处理
-
基本用法
awk [选项参数] 'pattern1{action1} pattern2{action2}' filename
pattern:表示AWK在数据中查找的内容,就是匹配模式
action:在找到匹配内容时所执行的一系列命令
-
选项参数
选项参数 功能 -F 指定输入文件折分隔符 -v 赋值一个用户定义变量 -
实例
awk -F : '/^root/ {print $7}' passwd awk -F : 'BEGIN{print "user,shell"} {print $1","$7} END{print "lll, bin/lalala"}' passwd awk -F : -v i=1 '{print $3+i}' passwd
-
awk内置变量
变量 说明 FILENAME 文件名 NR 已读的记录数 NF 游览记录的域的个数(切割后,列的个数) -
实例
awk -F : '{print FILENAME "," NR "," NF}' passwd ifconfig enp4s0 | grep "inet " | awk -F "inet " '{print $2}'|awk -F " net" '{print $1}' awk '/^$/{print NR}' sed.txt
-
-
sort
-
基本介绍
对文件进行排序
-
基本用法
sort(选项)(参数)
选项 说明 -n 依照数值大小进行排序 -r 以相反的顺序进行排序 -t 设置排ssssssssss序时所用的分隔符 -k 指定需要排序的列 -
实例
sort -t : -nrk 3 sort.txt
-