07 Shell工具【重点】

cut命令

cut命令从文件的每一行剪切字节,字符和字段并将这些字节,字符,字段输出

cut [选项参数] filename   说明:默认分隔符是制表符

-f 列号,提取第几列

-d分隔符,按照指定分隔符分割列

touch cut.txt
(1) 切割cut.txt 第一列

  cut -d " " -f 1 cut.txt

(2) 切割cut.txt第二列,第三列

  cut -d " " -f 2,3 cut.txt

(3) 在cut.txt 文件中切割出guan

  cat cut.txt | grep guan   ----》guan  zhen

  cat cut.txt | grep guan |cut -d " " -f 1 cut.txt   -----》guan

(4) 切割ifconfig后打印的IP地址

  ifconfig eth0 |grep "inter addr" |cut -d : -f 2 |cut -d " " -f 1

sed命令

sed是一种流编辑器,它一次处理一行内容

sed [选项参数] ‘command’  filename

-e 直接在指令模式上进行sed的动作编辑

a 新增,a后面可以接字串,在下一行出现

d 删除

s 查找并替换

(注意:源文件未变,打印增加)

(1) 将”meinv“ 这个单词插入sed.txt的第二行,打印

  sed '2a meinv ' sed.txt  

(2) 删除sed.txt文件包含wo的行

  sed "/wo/d"sed.txt

(3) 将sed.txt文件中的wo替换成ni

  sed "s/wo/ni/g" sed.txt

注意:'g'表示global,全部替换

(4) 将sed.txt文件中的第二行删除并将wo替换成ni

  sed -e "2d" -d "s/wo/ni/g" sed.txt

 

awk命令

awk 一个强大的文本分析工具,把文件逐行的读入,以空格为默认分隔符,将每行切片,切开的部分再进行分析处理

awk [选项参数] ‘pattern1’ {action1} ‘pattern2’ {action2}  ... filename

-F 指定输入文件拆分分隔符

-v赋值一个用户定义的变量

例如:

(1) 切割IP

  ifconfig eth0 |grep "netmask"|awk -F " " '{print $2}'

  ifconfig eth0 |grep "inter addr"|awk -F : '{print $2}' |awk -F " " '{print $1}'

(2) 查询sed.txt中的空行所在的行号

  awk '/^$/ {print NR}' sed.txt

sort命令

sort命令将文件进行排序,并将结果标准输出

sort (选项) (参数)

  -n 依照数值的大小排序

  -I 以相反的顺序来排序

  -t 设置排序时所用的分隔符

  -k 指定需要排序的列

数据准备

bb:40:5.4

bd:20:4.3

xz:30:3.2

wz:70:4.7

按照 ":" 分割后的第三列倒序排序

sort -t : -nrk 3 sort.txt

 

posted @ 2024-04-15 13:31  弹弹大魔王  阅读(5)  评论(0编辑  收藏  举报