1.去重命令uniq
文本中的重復行,基本上不是我們所要的,所以就要去除掉。使用uniq的時候要注意以下二點
-
對文本操作時,它一般會和sort命令進行組合使用,因為uniq 不會檢查重復的行,除非它們是相鄰的行。如果您想先對輸入排序,使用sort -u。
-
對文本操作時,若域中為先空字符(通常包括空格以及制表符),然后非空字符,域中字符前的空字符將被跳過
用法:uniq [選項]... [文件]
選項與參數:
選項與參數:
-i :忽略大小寫字符的不同;
-c :進行計數
-u :只顯示唯一的行
去重內容,必須是連續的行,必須要配合sort先排序,再去重,去重也不會修改源文件的內容
#uniq testfile
hello
world
friend
hello
world
hello
#未經排序的文件,將會發現沒有任何行被刪除
2.文件內容截取命令cut
cut命令可以從一個文本文件或者文本流中提取文本列
用法:cut [選項]... [文件]
-b :以字節為單位進行分割。這些字節位置將忽略多字節字符邊界,除非也指定了 -n 標志。
-c :以字符來取內容。
-d :自定義分隔符,默認為制表符。
-f :與-d一起使用,指定顯示哪個區域。
-n :取消分割多字節字符。僅和 -b 標志一起使用。如果字符的最后一個字節落在由 -b 標志的 List 參數指示的
范圍之內,該字符將被寫出;否則,該字符將被排除。
以域取內容-d、-f
[root@@localhost ~]# echo $PATH
/bin:/usr/bin:/sbin:/usr/sbin:/usr/local/bin:/usr/X11R6/bin:/usr/games
# 1 | 2 | 3 | 4 | 5 | 6 | 7
將 PATH 變量取出,我要找出第五個路徑
#echo $PATH | cut -d ':' -f 5
/usr/local/bin
將 PATH 變量取出,我要找出第一到第三個路徑,還有第五個路徑。
echo $PATH | cut -d ':' -f 1-3,5
/bin:/usr/bin:/sbin:/usr/local/bin
以字符來取內容-c
將 PATH 變量取出,我要找出第三個路徑
[root@localhost ~]# cut -c 11-13 $PATH
3.文件統計命令wc
統計文件里面有多少單詞,多少行,多少字符。
選項與參數: # wc [-lwm]
-l :僅列出行;
-w :僅列出多少字(英文單字);
-m :多少字符;
## 舉例[root@localhost ~]# wc /etc/services
11176 61033 670293 /etc/services
文件行數 單詞數量 字符數量