sed
流編輯器,一次處理一行內容
命令形式:
- h 顯示幫助
- n 僅顯示script處理後的結果
- e以選項中指定的script來處理輸入的文字檔案
- f以選項中指定的script檔案來處理輸入的文字檔案
常用動作
a:新增 sed - e '2 a newline' 在第2行後面新增一行
c:取代 sed -e '3,5 c newline' test.txt 取代第3行至第5行的內容
d:刪除 sed -e '2,3 d' test.txt 刪除第2至第3行的內容
i:插入 sed -e '2,3 i newline' test.txt 在第2至第5行前面插入一行內容
p:列印 sed -n '/root/p' test.txt 將test.txt檔案中所有的root列印出來
s:取代 sed -e 's/root/writer/g' test.txt 將所有的root取代為writer/全域性替換
使用cat命令查詢 test.txt檔案中資料並沒有改變,是因為 sed有乙個模式空間的概念,因此加引數-i可以修改成功!但是不要和上面的sed -e '2 i newline'中的i混了!
檢視幫助:
man sed
sed -h
sed與grep的區別:
grep不可以像sed一樣新增、刪除、插入等操作,只能替換,因此sed看上去要比grep更高階一些
awk
把檔案逐行讀入,以空格為預設分隔符將每行切片,切開的部分再進行後續處理
filename:awk瀏覽的檔名
begin :處理文字之前要執行的操作
end :處理文字之後要執行的操作
fs :設定輸入域分隔符,等價於命令列 -f選項
nf:瀏覽記錄的域的個數(列數)
nr:已讀的記錄數(行數)
ofs:輸出域分隔符
ors:輸出記錄分隔符
rs:控制記錄分隔符
$0:整條記錄
$1:表示當前的第乙個域.....依次類推
awk -f : '/home/' /etc/passwd 這裡要注意空格
awk -f : 'nr==2' /etc/passwd
1.awk 'begin nr==2' /etc/passwd 在passwd檔案的第二行的第
一、第二列加入標題
2.echo '123|456|789'|awk 'begin' rs="|",一定是加的雙引號,單引號會報錯,rs不要和nr混淆了,nr== 是雙等號rs= 等號
linux 三劍客之 grep
grep 是 linux系統中最重要的命令之一 其功能是從文字或者管道資料中篩選匹配的行及資料 如果配置正規表示式技術一起使用,則其功能更強大,它是linux運維人員必須要掌握的命令之一 usage grep option pattern file 用法 grep 引數 要搜尋的內容 檔案 eg r...
linux 三劍客之 awk
awk是一種程式語言,用於在linux unix下對文字和資料進行處理。資料可以來自標準輸入 stdin 乙個或多個檔案,或其它命令的輸出。它支援使用者自定義函式和動態正規表示式等先進功能,是linux unix下的乙個強大程式設計工具。它在命令列中使用,但更多是作為指令碼來使用。awk有很多內建的...
Linux三劍客之grep
1.用途 linux grep命令是用於查詢檔案裡符合條件的字串 2.語法 grep 選項 搜尋的字串 檔案 3.常見的選項 e 開啟擴充套件 extend 的正規表示式。i 忽略大小寫 ignore case v 反過來 invert 只列印沒有匹配的,而匹配的反而不列印。n 顯示行號 w 被匹配...