1、cut命令
- 命令解釋
cut - remove sections from each line of files(數據剪切,即從文件的每行中移除一些部分) - 命令語法
cut OPTION… [FILE]… - 命令選項
選 項 | 解 釋 |
---|---|
-b | 以字節爲單位進行分割 |
-c | 以字符爲單位進行分割 |
-d | 自定義分隔符,默認爲製表符 |
-f | 與-d一起使用,指定顯示哪個區域 |
-n | 取消分割多字節字符。僅和 -b 標誌一起使用。如果字符的最後一個字節落在由 -b 標誌的 List 參數指示的範圍之內,該字符將被寫出;否則,該字符將被排除 |
- 實例
這裏先給出一段浪漫的文本:
I LOVE YOU and I MISS YOU.
YOU LIKE ME but I DON’T MISS YOU.
① 提取每行第三個字節;
[root@localhost tmp]# cut -b 3 test
L
U
② 提取每行第十二個字符之後的內容(包括十二);
[root@localhost tmp]# cut -c 12- test
and I MISS YOU.
but I DON'T MISS YOU.
③ 以字母"I"爲分隔符,提取每行第一個"I"與第二個"I"之間的內容;
[root@localhost tmp]# cut -d "I" -f 2 test
LOVE YOU and
KE ME but
2、sort命令
- 命令解釋
sort - sort lines of text files(以ASCII 碼的次序對文本文件的行進行排序) - 命令語法
sort [OPTION]… [FILE]…
sort [OPTION]… --files0-from=F - 命令選項
選 項 | 解 釋 |
---|---|
-f | 忽略大小寫 |
-b | 忽略每行最前面的空格符部分 |
-M | 以月份的名字來排序 |
-n | 使用純數字進行排序 |
-r | 以相反的順序排序 |
-u | 即uniq,相同的數據只出現一行 |
-t | 指定排序時所用的欄位分隔字符 |
-k | 以指定區間來進行排序 |
-o | 將結果寫入到文件中 |
- 實例
同樣還是先給出一段文本(第一個域是公司名稱,第二個域是公司人數,第三個域是員工工資,全瞎編的別信哦🤭):
google 110 5000
baidu 100 5000
guge 50 3000
sohu 100 4500
① 按照員工工資降序排序,如果相同,則按照公司人數升序排序;
[root@localhost tmp]# sort -t ' ' -k 3nr -k 2n test //這裏去掉-r和-n選項,而將它們加入到了每一個-k選項中了,作用是一樣的!
baidu 100 5000
google 110 5000
sohu 100 4500
guge 50 3000
②按照公司名稱的第二個字母進行排序,如果相同,則按照員工工資降序排序;
[root@localhost tmp]# sort -t ' ' -k 1.2,1.2 -k 3nr test //這裏我們使用1.2,1.2的形式對域設置了起始點和終止點。
baidu 100 5000
google 110 5000
sohu 100 4500
guge 50 3000
3、uniq命令
- 命令解釋
uniq - report or omit repeated lines(報告或省略排序過文件的重複行)
tips:既是排序過,可想而知,要使uniq起作用,所有重複行必須是相鄰的,因此uniq經常和sort合用。
- 命令語法
uniq [OPTION]… [INPUT [OUTPUT]] - 命令選項
選 項 | 解 釋 |
---|---|
-c 或 --count | 在每行前面顯示該行重複出現的次數 |
-d 或 --repeated | 只顯示重複行的一行 |
-D | 顯示所有重複行 |
-f | 比較時忽略前N列 |
-i | 忽略大小寫區別 |
-s | 比較時跳過前N個字符 |
-w | 只比較N個字符的內容,默認從開始算起,如果和-s使用即從指定位置開始 |
-u | 只顯示唯一行 |
-z | 末尾生成0個字節的終止符作爲輸出(\0),這樣的目的就是避免一條記錄行因爲存在空格被識別爲多行 |
- 實例
一段水果名稱組合起來的文本:
Apple
apple
banana
cherry
cherry
peach core
pear core
apple
①跳過第一列字符,並在前面加上重複出現的次數;
[root@localhost tmp]# uniq -c -f1 test
5 Apple
1 peach core
1 pear core
1 apple
②跳過每行的第一個字符,且只比較兩位;
[root@localhost tmp]# uniq -s1 -w2 test
Apple
banana
cherry
peach core
apple
4、wc命令
- 命令解釋
wc - print newline, word, and byte counts for each file(統計指定文件的打行數、字數和字節數並輸出) - 命令語法
wc [OPTION]… [FILE]…
wc [OPTION]… --files0-from=F - 命令選項
選 項 | 解 釋 |
---|---|
-c | 統計字節數 |
-l | 統計行數 |
-m | 統計字符數。不能與 -c 選項一起使用 |
-w | 統計字數。一個字被定義爲由空白、跳格或換行字符分隔的字符串 |
-L | 打印最長行的長度 |
- 實例
浪漫文本來了:
Cold here, icy cold there.
You belong to neither, leaves have withered.
Your face is pale and blue, a tearful smile.
Something in your eyes, whispers words of last good-bye.
My heart sinks down, tears surge out.
查詢這段文本的字節數、行數、字數以及最長行的長度;
[root@localhost tmp]# wc -clwL test
5 37 211 56 test