linux 字元處理

2021-06-08 18:42:29 字數 1692 閱讀 3463

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 忽略要匹...