Linux 简单文本处理命令
【tr 命令】
1.作用:tr 命令可以對來自標準輸入的字符進行替換、壓縮和刪除。
2.格式:tr [選項] '字符集1' ['字符集2']
?
字符集1:指定要轉換或刪除的原字符集。當執行轉換操作時,必須使用參數“字符集2”指定轉換的目標字符集;當執行刪除操作時,不需要參數“字符集2”。
字符集2:指定要轉換成的目標字符集。
注:tr 命令可以使用的字符類
?
| [:alnum:] | 字母和數字 |
| [:alpha:] | 字母 |
| [:digit:] | 數字 |
| [:lower:] | 小寫字母 |
| [:upper:] | 大寫字母 |
| [:punct:] | 標點符號 |
| [:space:] | 空白字符 |
| [:graph:] | 圖形字符 |
| [:print:] | 可打印字符 |
| [:cntrl:] | 控制(非打印)字符 |
| [:xdigit:] | 十六進制字符 |
3.常見選項:
?
| -c | 取代所有不屬于第一字符集的字符 |
| -d | 刪除所有屬于第一字符集的字符 |
| -s | 把連續重復的字符以單獨一個字符表示 |
| -t | 先刪除第一字符集較第二字符集多出的字符 |
4.實例
1)將輸入字符由大寫轉換為小寫
2)刪除指定字符
3)將連續的字符去重
【col 命令】
1.作用:在 Linux 說明文件里,都有 RLF 控制字符,當我們運用 shell 特殊字符 > 和 >> ,把說明文件的內容輸出成純文本文件時,控制字符會變成亂碼,col 命令能有效濾除這些控制字符。它從標注輸入設備讀取文本內容,并把內容顯示到標注輸出設備。
2.格式:col [選項]
3.常見選項:
?
| -b | 過濾掉所有的控制字符,包括RLF和HRLF |
| -f | 濾掉RLF字符,但允許將HRLF字符呈現出來 |
| -x | 將 Tab 字符以多個空格字符表示 |
| -h | 將空格字符轉換為 Tab 字符(默認選項) |
4.實例:
在查看 text.txt 中的不可見字符時,會看到很多 ^I ,實際上就是 Tab 轉義成可見字符的符號
因此可以使用 col 命令將其轉換為可見的空格符號再輸出
【join 命令】
1.作用:找出兩個文件中,指定欄位內容相同的行,并加以合并,再輸出到標準輸出設備。
2.格式:join [選項] 文件1 文件2
3.常用選項:
?
| -t<字符> | 指定分隔符(默認為空格) |
| -i | 比較欄位內容時,忽略大小寫的差異 |
| -1<欄位> | 連接 [文件1] 指定的欄位 |
| -2<欄位> | 連接 [文件2] 指定的欄位 |
| -a<1或2> | 除顯示原來的輸出內容外,還顯示指令文件中沒有相同欄位的行 |
| -v<1或2> | 與-a相同,但是只顯示文件中沒有相同欄位的行 |
| -e<字符串> | 若[文件1]與[文件2]中找不到指定的欄位,則在輸出中填入選項中的字符串 |
| -o<格式> | 按照指定的格式來顯示結果 |
4.實例:
現有兩個文件(注意兩個文件的不同)
1)直接進行合并
2)左外連接,顯示左邊文件中的所有記錄,右邊文件中沒有匹配的顯示空白
3)右外連接,顯示右邊文件中的所有記錄,左邊文件中沒有匹配的顯示空白
4)全連接,顯示左邊、右邊文件中的所有記錄
5)顯示左邊文件中沒有匹配的記錄
6)顯示右邊文件中沒有匹配的記錄
7)顯示左邊、右邊文件中的所有沒有匹配的記錄
8)指定輸出字段(例:參數 -o 1.1 表示只輸出第一個文件的第一個字段)
9)指定分隔符
?
【paste 命令】
1.作用:將多個文件按照列隊列進行合并。
2.格式:paste [選項] 文件列表
3.常用選項:
?
| -d<間隔字符> | 指定的間隔字符(默認為 Tab) |
| -s | 串列進行而非平行處理(即:不合并到一行,每個文件為一行) |
4.實例:
創建三個文件
以空格字符為分隔符將文件合并到一行
以串列合并方式合并
總結
以上是生活随笔為你收集整理的Linux 简单文本处理命令的全部內容,希望文章能夠幫你解決所遇到的問題。
- 上一篇: 最短路径问题(信息学奥赛一本通-T134
- 下一篇: Best Cow Line(POJ-36