2010-08-05 19:15
linux 系統中很多檔案都是純文字檔案,如配置檔案和日誌檔案。系統管理時對這些檔案的處理顯得尤為重要,系統中帶有很多經典的字元處理命令,他們在系統管理和指令碼編寫時有很強大的功能,這些命令包括cut,diff,expand/unexpand,grep,head/tail,join,paste,sed,sort,cat/tac,tr,uniq。下面具體總結以下相關命令的常用用法:
cut功能:擷取檔案內容或者輸出中的相應字段
常用選項:
-d 指定字段分隔符
-c 取固定字元範圍
-f 取第幾個字段
diff
功能:比較兩個文字不同,以格式化樣式顯示。
常用選項:
-b 忽略空格數不同
-b 忽略空白行
-i 忽略大小寫
-i 忽略指定字元差異
-t 輸出的tab以空格替換
expand/unexpand
功能:將tab轉換成空格/將空格轉換成tab
常用選項:
-t 指定tab代表空格數,預設8
grep
功能:從檔案或者標準輸入中過濾並顯示匹配行
常用選項:
-i 忽略大小寫
-n 顯示行號
-v 顯示不匹配的行
正規表示式30分鐘入門教程和
揭開正規表示式的神秘面紗, 總結的相當不錯。
head/tail
功能:顯示檔案或者標準輸入的開頭/結尾幾行
常用選項:
-n 顯示的行數
join
功能:根據相同字段合併兩個檔案
命令選項:
-t 指定分隔符
-i 忽略大小寫
-1 n 指定第乙個檔案的哪一段
-2 n 指定第二個檔案的哪一段
paste
功能:將兩個檔案對應行合併,並以tab分開。
命令選項:
-d 指定分隔符
sed功能:對標準輸入的處理
命令選項:
-n 安靜模式,僅顯示被處理過的行
-f 輸出到檔案
-r 支援擴充套件正規表示式
操作說明:n1:n2 function
function主要包括:
a新增;c替換;d刪除;i插入;p列印;s搜尋
指令示例:ifconfig eth0 |grep '\binet\b' | sed 's/^.*addr://g' | sed 's/bcast.*$//g' /*過濾出帶有ip位址的那一行,在把ip位址前後的字元用空白替換掉,就得到ip位址了*/
sort
功能:對檔案內容或者標準輸入以行為單位排序
命令選項:
-b 忽略開始空格
-f 忽略大小寫
-k 按照第幾個字段排序
-n 使用數字排序
-o 輸出到檔案
-r 逆序排序
-t 指定分隔符
cat/tac
功能:顯示/逆序顯示 檔案內容
命令選項:
-a 顯示控制符號
-n 顯示行號 tr
功能:替換刪除字元
命令選項:
-d 刪除指定字元
-s 替換重複字元
uniq
功能:重複字元只顯示一次
命令選項:
-i 忽略大小寫
-c 進行計數
linux字元處理
大部分專案在部署後都會專案中新增日誌檔案一些記錄檔案,而我們經常需要分析或者處理相關檔案中的字元,所以掌握linux字元處理命令非常重要。舉個例子 後端提供某個介面,接收請求的時候其中乙個引數死活收不到,但你確信這個引數是百分百已傳送的,於是你檢視請求記錄日誌檔案,找出所有傳送記錄資料,與後端同學一...
Linux 字元處理命令
sort 選項 檔案 什麼都不加,預設按照首字母排序,預設以空格為分隔符。t 指定分隔符,預設使用空格為分隔符。k 指定第幾列。root oldboy cat sort.log sort t k2 218.65.30.124 17163 218.65.30.126 17163 218.65.30.2...
180902 Linux 字元處理
linux中的管道是乙個固定大小的緩衝區,大小為1頁 4k位元組 管理可以將兩個程序連線起來,即可以將前乙個命令的輸出當作下乙個命令的輸入 管理使用 連線兩個命令。示例 grep是基於行的文字搜尋工具,其會列印出匹配到的所有行。命令使用 grep ivnc 要匹配的字元 檔名 引數說明 i 忽略要匹...