1. 程式人生 > 其它 >文字處理命令(sort、uniq、tr、cut、split、eval)

文字處理命令(sort、uniq、tr、cut、split、eval)

文字處理命令

目錄

sort命令

以行為單位對文字內容進行排序,也可以根據不同的資料型別來排序比較原則是從首字元向後,一次按照ASCII碼進行比較,最後將他們按照升序輸出。

格式:
sort [選項] 引數
一幫配合管道符進行使用
cat [檔案] | sort [選項]

常用選項:

-n 按照數字進行排序
-r 反向排序
-u 等同於uniq,表示相同的資料僅顯示一行
-t 指定欄位分隔符,預設使用[Tab]鍵分隔一般與-k選項一起用
-k 指定排序欄位一般與-t選項一起用
-o<輸出檔案> 將排序後的結果轉存至指定檔案
-f 忽略大小寫,會將小寫字母都轉換為大寫字母來進行比較
-b 忽略每行前面的空格

示例:

uniq命令

用於報告或者忽略檔案中連續重複的行,常與sort命令結合使用

語法格式
uniq [選項] 引數
一幫配合管道符進行使用
cat [檔案] | uniq [選項]

常用選項:

-c 進行計數並刪除檔案中重複的行
-d 僅顯示連續重複的行
-u 僅顯示出現一次的行( 這裡注意指的不是檔案內僅出現一次的行,而是沒有連續重複的行)

示例:

tr命令

常用來對標準輸入的字元進行替換

格式:
tr [選項] [引數]

常用選項:

-c 保留字符集1的字元,其他的字元用(包括換行符\n)字符集2替換
-d 刪除所有屬於字符集1的字元
-s 將重複出現的字串壓縮為一個字串;用字符集2 替換 字符集1
-t 字符集2 替換 字符集1,不加選項同結果

示例:

cut命令

顯示行中的指定部分,刪除檔案中指定欄位

格式:
cut [選項] 引數
也可以配合管道符進行使用
cat [檔案] | cut 選項

常用選項:

-f 通過指定哪一個欄位進行提取。cut命令使用“TAB”作為預設的欄位分割符
-d “TAB”是預設的分隔符,使用此選項可更改為其他的分隔符
- -complement 用於排除所指定的欄位
- -output-delimiter= 更改輸出內容的分隔符

示例:

split命令

將一個大的檔案拆分成若干個小檔案

格式:
split  選項  引數  原始檔案  拆分後文件字首名

常用選項:

-l 以行數差分
-b 以大小差分

eval命令

命令字前加上eval時,shell會在執行命令之前掃描它兩次。eval命令將首先會先掃描命令列進行所有的置換,然後再執行該命令。該命令適用於那些一次掃描無法實現其功能的變數。該命令對變數進行兩次掃描。

示例: