管道命令用 | 来表示,只处理标准输出,不处理错误输出
1.cut
同一行里面的数据进行分解,取出部分数据
参数:
-d :后面接分 字符。与 -f 一起使用;
-f :依据 -d 的分 字符将一段讯息分 成为数段,用 -f 取出第几段的意思; -c :以字符 (characters) 的单位取出 定字符 间;
cut -d'分割字符' -f fields
2.grep
分析一行数据,取出一行数据
grep -acinv ' 字符 ' filename
参数:
-a :将 binary 档案以 text 档案的方式 数据
-c :计算找到 ' 字符 ' 的次数
-i : 略大小写的不同,所以大小写视为相同
-n :顺便输出行号
-v :反向选择,亦即显示出没有 ' 字符 ' 内容的那一行!
3.sort
用于排序
sort -[fbMnrtuk] [file or stdin]
参数:
-f : 略大小写的差异,例如 A 与 a 视为编码相同; -b : 略最前面的空格符部分;
-M :以月份的名字来排序,例如 JAN, DEC 等等的排序方法; -n :使用『纯数字』进行排序(预设是以文字型态来排序的); -r :反向排序;
-u :就是 uniq ,相同的数据中,仅出现一行代表;
-t :分 符,预设是 tab 键;
-k :以那个 间 (field) 来进行排序的意思
/etc/passwd 内容是以 : 来分 的,我想以第三 来排序,该如何?
cat /etc/passwd sort -t ':' -k 3
4.uniq
重复的行 除掉只显示一个
uniq [-ic]
参数:
-i : 略大小写字符的不同;
-c :进行计数
5.wc
统计行、字、字符的数量
wc [-lwm]
参数:
-l :仅列出行;
-w :仅列出多少字(英文单字);
-m :多少字符;
6.tee
双向重导向,把数据流导向到两个地方
tee [-a] file
参数:
-a :以 加 (append) 的方式,将数据加入 file 当中!
7.xargs
作用就是产生某个指令的参数
有些命令如ls 是不能接在管道的后面的,那么xargs就产生作用了
8.减号-
前一个指令的 stdout 作为这次的 stdin
tar -cvf - /home tar -xvf -