通常: sed 處理列 awk處理行 比較方便
sed是乙個基本的查詢替換程式sed -i "s/^@//g" 檔案 #原地操作原檔案,進行替換
cat my.txt|sed s/a/a/ >n.txt
(不指定列數,預設是包含a的第一列)將1.txt檔案中包含a的第一列中的a替換為a,並將結果寫入n.txt檔案中。該語句也可以在shell指令碼中使用
cat my.txt|sed s/a/a/2 >n.txt
指定第二列,將1.txt檔案中包含a的第二列中的a替換為a,並將結果寫入n.txt檔案中。
cat './1.txt ' |sed s/a/a/g >n2.txt 將1.txt檔案中的所有a替換為a,並將結果寫入n2.txt檔案中。該語句也可以在shell指令碼中使用
ps -ef | grep tomcat|awk ' ' 從標準輸入中提取第乙個、第二個字段
awk 用來從文字檔案中提取字段。預設地,字段分割符是空格,可以使用-f指定其他分割符,如:head -n 5 /etc/passwd|awk -f: ''
sed: sed是乙個基本的查詢替換程式。可以從標準輸入(比如命令管道)讀入文字,並將結果輸出到標準輸出(螢幕)。
該命令採用正規表示式(見參考)進行搜尋。
不要和shell中的萬用字元相混淆。比如:將linuxfocus 替換為linuxfocus :cat text.file | sed s/linuxfocus/linuxfocus/ > newtext.file
sed s/a/a/ 從標準輸入中讀取文字,將文字中的a替換為a (預設是將含有a的第一列替換為a)
如果指定要替換的列數,則從含有要替換的字元對應的列中進行替換,如下:
sed s/a/a/2 從標準輸入中讀取文字,將文字中含有的a的第二列替換為a
sed s/a/a/3 從標準輸入中讀取文字,將文字中含有的a的第三列替換為a
如果想要替換所有的字串,則使用sed s/a/a/g ,如下圖:
awk 用來從文字檔案中提取字段。預設地,字段分割符是空格,可以使用-f指定其他分割符。
cat file.txt | awk -f, ''這裡我們使用,作為字段分割符,同時列印第乙個和第三個字段。
如果該檔案內容如下: adam bor, 34, indiakerry miller, 22, usa,命令輸出結果為:adambor, indiakerry miller, usa
也可以使用cut命令,對每行資料進行分析,如下:
sed與awk去除重複行
unixf 1 如果僅僅是刪除內容完全一樣重複行 則可以使用sort先進行排序 然後使用 uniq進行刪除重複資料即可 例如 cust.txt txt 130000006800,17,151,01,250100 130000006800,17,151,01,250101 1300001077,17,...
Linuxshell程式設計之awk與sed使用詳解
linux shell程式設計之awk的用法 1.awk的使用 基本功能 在檔案或字串中基於指定規則瀏覽和抽取資訊。awk抽取資訊後,才能進行其他文字操作。完整的awk指令碼通常用來格式化文字檔案資訊。呼叫方式 1.命令列方式 2.將所有awk命令插入乙個檔案,並使awk程式可執行,然後使awk命令...
sed命令與awk命令基礎
命令格式 sed option script file e script 在處理輸入時,將script中指定的命令新增到已有的命令中 f file 在處理輸入時,將file中指定的命令新增到已有的命令中 n 不產生命令輸出,使用print命令來完成輸出 s s命令會用斜線間指定的第二個文字字串來替換...