文字處理命令(sort、uniq、tr、cut、split、eval)
阿新 • • 發佈:2022-04-16
文字處理命令
目錄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命令將首先會先掃描命令列進行所有的置換,然後再執行該命令。該命令適用於那些一次掃描無法實現其功能的變數。該命令對變數進行兩次掃描。
示例: