shell的幾種常用工具

請參考原文鏈接:https://blog.csdn.net/qq_37964547/article/details/80959964

最近在學習shell腳本語言,在學習的過程中了解了關于shell的幾種常用工具,就總結了一下。

1、sort
功能:顧名思義,sort是對文本進行排序操作的。
原則:sort將文件的每一行作為一個單位,相互比較,比較原則是從首字符向后,依次按ASCII碼值進行比較, 后將他們按升序輸出。
man手冊解釋:

常用選項介紹:

選項 說明
-r 將文本文件降序輸出
-u 在輸出行中去掉重復行
-n 以數值來進行升序排序
-t 設定間隔符
-k 用來對指定列數進行排序,通常與-t一起使用
-f 將小寫字母都轉換為大寫字母來進行比較,亦即忽略大小寫
-c 會檢查文件是否已排好序,如果亂序,則輸出第一個亂序的行的相關信息,后返回1
-C 會檢查文件是否已排好序,如果亂序,不輸出內容,僅返回1
-b 會忽略每一行前面的所有空白部分,從第一個可見字符開始比較
用法示例:
(1)使用sort對文件內容進行升序、降序排序:

(2)去掉重復行升序、降序:

(3)按指定列進行排序

2、uniq
man手冊解釋:

主要用來去除文本中的重復行
用法示例:

常用語法

選項 說明
-c 顯示輸出中,在每行行首加上本行在文件中出現的次數。它可取代-u和-d選項。
-d 只顯示出現重復的行
-u 只顯示文件中不重復的各行
示例:

3、利用sort和uniq求兩個文件的交集、并集和補集
分別建立兩個文件:

求兩個文件的交集:

求兩個文件的并集:

求兩個文件的補集(file1-file2):

4、paste
man手冊說明:

功能:paste單詞意思是粘貼。該命令主要用來將多個文件的內容合并。paste將按行將不同文件行信息放在一行。缺省情 況下, paste連接時,用空格或tab鍵分隔新行中不同文本
將file1和file2內容合并:

常用選項:
(1) -d: 指定域分隔符
指定域分隔符為“:”,并合并兩個文件內容

(2)-s: 將每個文件合并成行而不是按行粘貼

(3)- 對每一個(-),從標準輸入中讀一次數據。默認使用空格 或者tab作域分隔符,該選項可以定制輸出格式

5、cut
man手冊說明:

功能:cut 命令從文件的每一行剪切字節、字符和字段并將這些字節、字符和字段寫至標準輸出。 如果不指定 File 參數, cut 命令將讀取標準輸入。必須指定 -b、-c 或 -f 標志之一。
常用選項:
(1)-b :以字節為單位進行分割。

(2)-c :以字符為單位進行分割

對于字符處理,-c和-b似乎沒有什么區別,但當你處理漢字的時候,就會有所不同,感興趣的可以自己測試一下。
(3)-d :自定義分隔符,默認為制表符。
(4)-f :與-d一起使用,指定顯示哪個區域

6、xargs
man手冊描述:

功能:xargs命令是給其他命令傳遞參數的一個過濾器,也是組合多個命令的一個工具。它擅長將標準輸入數據轉換成命 令行參數,xargs能夠處理管道或者stdin并將其轉換成特定命令的命令參數。xargs也可以將單行或多行文本輸入 轉換為其他格式,例如多行變單行,單行變多行。xargs的默認命令是echo,空格是默認定界符。這意味著通過管 道傳遞給xargs的輸入將會包含換行和空白,不過通過xargs的處理,換行和空白將被空格取代。xargs是構建單行命令的重要組件之一。

常用選項:
(1)-n選項:指定列數,并多行輸出

(2)-d選項: 自定義一個域分隔符,將特定列打散,并指定格式輸出

(3)將格式化后的字符串作為命令行參數傳遞給其他命令,組裝完成批量任務

(4)選項-I,使用-I指定一個替換字符串{},這個字符串在xargs擴展時會被替換掉,當-I與xargs結合使用, 每一個參數命令都會被執行一次

(5)find xargs rm 混合使用:

一張圖總結xargs常見用法:

7、sed
man手冊說明:

功能:sed是一種流編輯器,它是文本處理中非常中的工具,能夠完美的配合正則表達式使用,功能不同凡響。處理時, 把當前處理的行存儲在臨時緩沖區中,稱為“模式空間”(pattern space),接著用sed命令處理緩沖區中的內容, 處理完成后,把緩沖區的內容送往屏幕。接著處理下一行,這樣不斷重復,直到文件末尾。文件內容并沒有 改變, 除非你使用重定向存儲輸出。Sed主要用來自動編輯一個或多個文件;簡化對文件的反復操作;編寫轉換程序等。
sed默認安照Basic規范基本匹配
常見使用方法:
(1)/pattern/p: 打印匹配pattern的行

使用p命令需要注意,sed是把待處理文件的內容連同處理結果一起輸出到標準輸出的,因此p命令表示除了把文件內 容打印出來之外還額外打印一遍匹配pattern的行 要想只輸出處理結果,應加上-n選項,這種用法相當于grep命令。
(2)/pattern/d: 刪除匹配pattern的行

sed命令不會修改原文件,刪除命令只表示某些行不打印輸出,而不是從原文件中刪去,如果要影響源文件,需要使用 -i 選項

(3)/pattern/s/pattern1/pattern2/: 查找符合pattern的行,將該行第一個匹配pattern1的字符串替換為 pattern2

————————————————
版權聲明:本文為CSDN博主「Shining-LY」的原創文章,遵循CC 4.0 BY-SA版權協議,轉載請附上原文出處鏈接及本聲明。
原文鏈接:https://blog.csdn.net/qq_37964547/article/details/80959964

?著作權歸作者所有,轉載或內容合作請聯系作者
平臺聲明:文章內容(如有圖片或視頻亦包括在內)由作者上傳并發布,文章內容僅代表作者本人觀點,簡書系信息發布平臺,僅提供信息存儲服務。
  • 序言:七十年代末,一起剝皮案震驚了整個濱河市,隨后出現的幾起案子,更是在濱河造成了極大的恐慌,老刑警劉巖,帶你破解...
    沈念sama閱讀 230,622評論 6 544
  • 序言:濱河連續發生了三起死亡事件,死亡現場離奇詭異,居然都是意外死亡,警方通過查閱死者的電腦和手機,發現死者居然都...
    沈念sama閱讀 99,716評論 3 429
  • 文/潘曉璐 我一進店門,熙熙樓的掌柜王于貴愁眉苦臉地迎上來,“玉大人,你說我怎么就攤上這事。” “怎么了?”我有些...
    開封第一講書人閱讀 178,746評論 0 383
  • 文/不壞的土叔 我叫張陵,是天一觀的道長。 經常有香客問我,道長,這世上最難降的妖魔是什么? 我笑而不...
    開封第一講書人閱讀 63,991評論 1 318
  • 正文 為了忘掉前任,我火速辦了婚禮,結果婚禮上,老公的妹妹穿的比我還像新娘。我一直安慰自己,他們只是感情好,可當我...
    茶點故事閱讀 72,706評論 6 413
  • 文/花漫 我一把揭開白布。 她就那樣靜靜地躺著,像睡著了一般。 火紅的嫁衣襯著肌膚如雪。 梳的紋絲不亂的頭發上,一...
    開封第一講書人閱讀 56,036評論 1 329
  • 那天,我揣著相機與錄音,去河邊找鬼。 笑死,一個胖子當著我的面吹牛,可吹牛的內容都是我干的。 我是一名探鬼主播,決...
    沈念sama閱讀 44,029評論 3 450
  • 文/蒼蘭香墨 我猛地睜開眼,長吁一口氣:“原來是場噩夢啊……” “哼!你這毒婦竟也來了?” 一聲冷哼從身側響起,我...
    開封第一講書人閱讀 43,203評論 0 290
  • 序言:老撾萬榮一對情侶失蹤,失蹤者是張志新(化名)和其女友劉穎,沒想到半個月后,有當地人在樹林里發現了一具尸體,經...
    沈念sama閱讀 49,725評論 1 336
  • 正文 獨居荒郊野嶺守林人離奇死亡,尸身上長有42處帶血的膿包…… 初始之章·張勛 以下內容為張勛視角 年9月15日...
    茶點故事閱讀 41,451評論 3 361
  • 正文 我和宋清朗相戀三年,在試婚紗的時候發現自己被綠了。 大學時的朋友給我發了我未婚夫和他白月光在一起吃飯的照片。...
    茶點故事閱讀 43,677評論 1 374
  • 序言:一個原本活蹦亂跳的男人離奇死亡,死狀恐怖,靈堂內的尸體忽然破棺而出,到底是詐尸還是另有隱情,我是刑警寧澤,帶...
    沈念sama閱讀 39,161評論 5 365
  • 正文 年R本政府宣布,位于F島的核電站,受9級特大地震影響,放射性物質發生泄漏。R本人自食惡果不足惜,卻給世界環境...
    茶點故事閱讀 44,857評論 3 351
  • 文/蒙蒙 一、第九天 我趴在偏房一處隱蔽的房頂上張望。 院中可真熱鬧,春花似錦、人聲如沸。這莊子的主人今日做“春日...
    開封第一講書人閱讀 35,266評論 0 28
  • 文/蒼蘭香墨 我抬頭看了看天上的太陽。三九已至,卻和暖如春,著一層夾襖步出監牢的瞬間,已是汗流浹背。 一陣腳步聲響...
    開封第一講書人閱讀 36,606評論 1 295
  • 我被黑心中介騙來泰國打工, 沒想到剛下飛機就差點兒被人妖公主榨干…… 1. 我叫王不留,地道東北人。 一個月前我還...
    沈念sama閱讀 52,407評論 3 400
  • 正文 我出身青樓,卻偏偏與公主長得像,于是被迫代替她去往敵國和親。 傳聞我的和親對象是個殘疾皇子,可洞房花燭夜當晚...
    茶點故事閱讀 48,643評論 2 380

推薦閱讀更多精彩內容