Linux常用的文本處理命令

1. 總體介紹 Linux常用的文本處理命令

  • more/less: 逐屏顯示文件
  • catod: 一次性列出文件內(nèi)容
  • headtail: 顯示文件的頭部或者尾部
  • tee: 三通
  • wc: 字數(shù)統(tǒng)計
  • sort: 對文件內(nèi)容進行排序
  • tr: 翻譯字符
  • uniq: 篩選文件中的重復行

2. more/less: 逐屏顯示文件

more/less常用快捷鍵,推薦使用less代替more命令。

  • <space>: 空格鍵,翻頁
  • <Enter>: 回車鍵,向下翻一行
  • q: 退出
  • jk: 向上或者向下翻一行
  • /: 查詢關鍵字

3. catod: 一次性列出文件內(nèi)容

cat: 命令來源: concatenate:串接,文本格式打印。
常用參數(shù):
-n: 打印文件的時候,帶上行號。

od: 命令來源: octal dump:逐字節(jié)打印,可以用八進制/十六進制打印。
常用參數(shù):
-c: 按照字符打印,遇到不可打印字符,打印編碼
-t c: 按照字符打印,如果字符不可打印,則打印一個八進制的ASCII碼。
-t x1: 以一個字節(jié)為單位,每個字節(jié)都按照十六進制打印
-t o1: 以一個字節(jié)為單位,每個字節(jié)都按照八進制打印
-t d1: 以一個字節(jié)為單位,每個字節(jié)都按照十進制打印(但是超過127以后,會顯示負數(shù))
-t u1: 以一個字節(jié)為單位,每個字節(jié)都按照u(無符號整數(shù))打印

下列方式可以以16進制顯示一個字符串的編碼。

echo abcdABCD | od -t x1

4. headtail: 顯示文件的頭部或者尾部

headtail: 不帶參數(shù),默認顯示文件的頭10行或者尾10行。
常用參數(shù):
-n: 指定顯示的行數(shù)。

tail -f: 可以持續(xù)監(jiān)視一個文件,只要文件有變化,立馬更新。(-f:是forever的意思。)

5. tee: 三通

tee:將標準輸入stdin得到的數(shù)據(jù),抄送到標準輸出stdout顯示,同時存入磁盤文件中。

舉例:

# 將./myap的輸出打印終端中,同時將輸出保存到【myap.log】文件中。
./myap | tee myap.log

6. wc: 字數(shù)統(tǒng)計

wc:列出文件一共有多少行,有多少個單詞,多少字符。

常用參數(shù):
-l: 只列出行數(shù)。

# 顯示系統(tǒng)有多少個進程
ps -ef | wc -l
# 顯示當前有多少個用戶登陸
who | wc -l

7. sort: 對文件內(nèi)容進行排序

常用參數(shù):
-n: [number]對于數(shù)字按照算數(shù)值大小排序,而不是按照字符串比較規(guī)則。

比如:123與67:

  • 如果按照字符串排序的話,67比123大;
  • 如果按照數(shù)字值排序的話,123比67大

8. tr: 翻譯字符

tr string1 string2: 將標準輸入拷貝到標準輸出;如果標準輸入中出現(xiàn)string1中包含的字符,那么替換為string2中對應的字符,然后再拷貝到標準輸出。

echo abcdABCD | tr aBc AbC
# 輸出結果如下:
AbCdAbCD

[ ]指定一個集合

# 將小寫字母轉換為大寫字母
echo abcdABCD | tr '[a-z]'  '[A-Z]'
# 輸出結果如下:
ABCDABCD

\加上三個八進制數(shù)字(類似C語言)表示一個字符

# 將%改為換行符,注意不要漏掉必須的單引號
cat file1 | tr % '\012'

8. uniq: 篩選文件中的重復行

uniq: 這個命令后面只允許出現(xiàn)一個文件。

常用參數(shù):
-u: [uniq]只保留沒有重復的行
-d: [duplicated]只保留有重復的行(但是只打印一次)
<space>: 如果沒有選項,打印沒有重復的行和有重復的行(但是只打印一次)
-c: [count]計數(shù)同樣的行出現(xiàn)的次數(shù)

注意:重復的行:指的是緊鄰的兩行內(nèi)容相同,所以uniq命令一般都會放在sort命令的后面。

?著作權歸作者所有,轉載或內(nèi)容合作請聯(lián)系作者
【社區(qū)內(nèi)容提示】社區(qū)部分內(nèi)容疑似由AI輔助生成,瀏覽時請結合常識與多方信息審慎甄別。
平臺聲明:文章內(nèi)容(如有圖片或視頻亦包括在內(nèi))由作者上傳并發(fā)布,文章內(nèi)容僅代表作者本人觀點,簡書系信息發(fā)布平臺,僅提供信息存儲服務。

相關閱讀更多精彩內(nèi)容

友情鏈接更多精彩內(nèi)容