管线命令 cut grep

  • 管线命令仅会处理 standard output,对于 standard error output 会予以忽略

  • 管线命令必须要能够接受来自前一个命令的数据成为 standard input 继续处理才行。

[root@www ~]# cut -d'分隔字符' -f fields<==用于有特定分隔字符
[root@www ~]# cut -c 字符区间           <==用于排列整齐的信息选项与参数:-d  :后面接分隔字符。与 -f 一起使用;-f  :依据 -d 的分隔字符将一段信息分割成为数段,用 -f 取出第几段的意思;-c  :以字符 (characters) 的单位取出固定字符区间;
[root@www ~]# grep [-acinv] [--color=auto] '搜寻字符串' filename选项与参数:-a :将 binary 文件以 text 文件的方式搜寻数据-c :计算找到 '搜寻字符串' 的次数-i :忽略大小写的不同,所以大小写视为相同-n :顺便输出行号-v :反向选择,亦即显示出没有 '搜寻字符串' 内容的那一行!--color=auto :可以将找到的关键词部分加上颜色的显示喔!
[root@www ~]# sort [-fbMnrtuk] [file or stdin]选项与参数:-f  :忽略大小写的差异,例如 A 与 a 视为编码相同;-b  :忽略最前面的空格符部分;-M  :以月份的名字来排序,例如 JAN, DEC 等等的排序方法;-n  :使用『纯数字』进行排序(默认是以文字型态来排序的);-r  :反向排序;-u  :就是 uniq ,相同的数据中,仅出现一行代表;-t  :分隔符,默认是用 [tab] 键来分隔;-k  :以那个区间 (field) 来进行排序的意思

[root@www ~]# uniq [-ic]选项与参数:-i  :忽略大小写字符的不同;-c  :进行计数

[root@www ~]# wc [-lwm]选项与参数:-l  :仅列出行;-w  :仅列出多少字(英文单字);-m  :多少字符;
[root@www ~]# tee [-a] file选项与参数:-a  :以累加 (append) 的方式,将数据加入 file 当中!

[root@www ~]# last | tee last.list | cut -d " " -f1# 这个范例可以让我们将 last 的输出存一份到 last.list 文件中;

[root@www ~]# ls -l /home | tee ~/homefile | more# 这个范例则是将 ls 的数据存一份到 ~/homefile ,同时屏幕也有输出信息!

[root@www ~]# ls -l / | tee -a ~/homefile | more# 要注意! tee 后接的文件会被覆盖,若加上 -a 这个选项则能将信息累加。
  • tr

tr 可以用来删除一段信息当中的文字,或者是进行文字信息的替换!

[root@www ~]# tr [-ds] SET1 ...选项与参数:-d  :删除信息当中的 SET1 这个字符串;-s  :取代掉重复的字符!范例一:将 last 输出的信息中,所有的小写变成大写字符:
[root@www ~]# last | tr '[a-z]' '[A-Z]'# 事实上,没有加上单引号也是可以运行的,如:『 last | tr [a-z] [A-Z] 』范例二:将 /etc/passwd 输出的信息中,将冒号 (:) 删除
[root@www ~]# cat /etc/passwd | tr -d ':'范例三:将 /etc/passwd 转存成 dos 断行到 /root/passwd 中,再将 ^M 符号删除
[root@www ~]# cp /etc/passwd /root/passwd && unix2dos /root/passwd
[root@www ~]# file /etc/passwd /root/passwd
/etc/passwd:  ASCII text
/root/passwd: ASCII text, with CRLF line terminators <==就是 DOS 断行
[root@www ~]# cat /root/passwd | tr -d '\r' > /root/passwd.linux# 那个 \r 指的是 DOS 的断行字符,关于更多的字符,请参考 man tr
[root@www ~]# ll /etc/passwd /root/passwd*
-rw-r--r-- 1 root root 1986 Feb  6 17:55 /etc/passwd
-rw-r--r-- 1 root root 2030 Feb  7 15:55 /root/passwd
-rw-r--r-- 1 root root 1986 Feb  7 15:57 /root/passwd.linux
# 处理过后,发现文件大小与原本的 /etc/passwd 就一致了!
[root@www ~]# col [-xb]选项与参数:-x  :将 tab 键转换成对等的空格键-b  :在文字内有反斜杠 (/) 时,仅保留反斜杠最后接的那个字符

[root@www ~]# join [-ti12] file1 file2选项与参数:-t  :join 默认以空格符分隔数据,并且比对『第一个字段』的数据,      如果两个文件相同,则将两笔数据联成一行,且第一个字段放在第一个!-i  :忽略大小写的差异;-1  :这个是数字的 1 ,代表『第一个文件要用那个字段来分析』的意思;-2  :代表『第二个文件要用那个字段来分析』的意思。

[root@www ~]# paste [-d] file1 file2选项与参数:-d  :后面可以接分隔字符。默认是以 [tab] 来分隔的!-   :如果 file 部分写成 - ,表示来自 standard input 的数据的意思。

[root@www ~]# expand [-t] file选项与参数:-t  :后面可以接数字。一般来说,一个 tab 按键可以用 8 个空格键取代。      我们也可以自行定义一个 [tab] 按键代表多少个字符呢!

[root@www ~]# split [-bl] file PREFIX选项与参数:-b  :后面可接欲分割成的文件大小,可加单位,例如 b, k, m 等;-l  :以行数来进行分割。PREFIX :代表前导符的意思,可作为分割文件的前导文字。

[root@www ~]# xargs [-0epn] command选项与参数:-0  :如果输入的 stdin 含有特殊字符,例如 `, \, 空格键等等字符时,这个 -0 参数      可以将他还原成一般字符。这个参数可以用于特殊状态喔!-e  :这个是 EOF (end of file) 的意思。后面可以接一个字符串,当 xargs 分析到      这个字符串时,就会停止继续工作!-p  :在运行每个命令的 argument 时,都会询问使用者的意思;-n  :后面接次数,每次 command 命令运行时,要使用几个参数的意思。看范例三。当 xargs 后面没有接任何的命令时,默认是以 echo 来进行输出喔!


你可能感兴趣的:(grep,cut,管线命令)