当我们需要 bash 执行命令后的数据进行加工时就可以用到了
界定符号: |
注:管道命令接仅会接收正确数据
选取命令:
cut 切割
-d 以什么分割成域
-f 获取指定的域和不包含分隔符的行 num或者 num,num
-c 获取某列的值num / num-
eg: man cut | cut -d '-' -f 5
grep 选取
-c 匹配字符串的次数
-i 忽略大小写
-n 输出行好
-v 反选
--color=auto 关键字突出显示
eg: grep -i --color=auto 'UDP' /etc/netconfig
排序命令:
sort 排序
-f 忽略大小写
-b 忽略最前面的空格
-M 以月份的名字排序
-n 使用纯数字排序
-r 反响排序
-u 相同数据时,仅显示一行
-t 分隔符
-k 以那个区域排序
eg: cat /etc/passwd | sort -t ':' -k 3
uniq 相同数据时,仅显示一行
-i 忽略大小写
-c 计数
wc 计算整体数据
-l 行
-w 字
-m 字符
tee 双向重定向 (同时将数据流送与屏幕与文件)
-a 累加
eg: (ls -l; date) | tee -a lsResu.txt
字符转换命令:
tr 删除一段信息中的文字,或者替换
-d 删除指定字符
-s 替换
eg: echo $PATH | tr -d [a-z]
echo $PATH | tr [a-z] a
echo $PATH | tr -s [a-z] a
join 将两个文件当中有相同数据的行加在一起
-t 分隔符
-i 忽略大小写
-1 第一个文件要用哪个字段分析
-2 第二个文件要用哪个字段分析
paste 同上,但是它是把数据直接放在一起,中间用 [Tab] 伸缩隔开
-d 分隔符
- 如果文件部分写成 - ,表示来自 输入 的数据
expand 将 [Tab] 转为空格
-t 几个空格替换一个 [Tab]
split 切割
-b b,k,m等‘
-l 行数
xargs 参数代换
-0 如果输入有特殊字符,例如 `,\,空格等字符时,可以还原成一般字符
-e 后接字符串,当xargs分析到这个字符时,就会停止工作
-p 询问是否操作
-n 后跟次数,每次执行命令时,要使用几个参数的意思