有时候我们可以在一个指令后加另多个指令,来筛选前一个指令的数据.
常用的有:
-----------------------------------------------------------------
grep:挑出包含指定字符的行
当我们执行一条指令包含很多行数据的时候,可以用grep挑出关注的行,用法示例:
cat 1.txt|grep var
这样会读出1.txt文件,并找出包含"vat"的行,如果有符号,建议给搜索关键字加双引号.这样:
cat 1.txt|grep "var"
-----------------------------------------------------------------
sort:排序
可以把输出数据的每一行根据内容进行排序.用法:
cat 1.txt|sort
指令可以叠加,比如(使用方法我只演示一次,后面就不再演示了.):
cat 1.txt|grep "var"|sort
-----------------------------------------------------------------
cut:剪切
cut -c 1-4
表示把每一行的第1个字到第4个字取出来.(还有更多用法请自行搜索,此处只讲下有这个指令)
-----------------------------------------------------------------
uniq:去除重复
参数-d 则反过来,只输出重复的行(重复N次只输出1次)
-D只输出重复的行(重复几次输出几次)
-i 不区分大小写
-----------------------------------------------------------------
awk:枚举每一行取指定数据用来执行某指令
awk -F ':' '{echo $1}'
表示:从每一行中,用":"分隔数据为多列,然后执行指令,把第一列传到指令里
-----------------------------------------------------------------
sed:编辑
对内容进行编辑
sed '2,5d'
d表示删除,2,5表示2到5行.
sed '1,5ahello'
在1~5行后面新开一行插入hello
sed '1,5ihello'
在1~5行前面新开一行插入hello
sed 'c,5ihello'
用hello替代选中行
-----------------------------------------------------------------
wc:统计数据
-l 参数只输出行数
-----------------------------------------------------------------
这些指令也可以在搜索文件后使用,用来管理文件...
find / -name *.jpg|sort