均在模式空間中處理,不改原檔案
grep:globally search a re gular expression and print
grep
grep -e = egrep
1.grep格式
grep 匹配條件 處理檔案
grep root passwd
過濾root關鍵字
grep ^root passwd
以root開頭
grep root$ passwd
以root結尾
grep -i root passwd
忽略大小寫
grep -e 「root字元之前不能有字元
grep -e 「root>」 passwd
root字元之後不能有字元
grep -數字
顯示過濾行以及上下各幾行
grep -n
顯示匹配的行所在行號
grep -a
顯示過濾行以及下面幾行
grep -b
顯示過濾行以及上面幾行
grep -v
反向過濾
grep字元數量匹配規則
^westos
以westos開始
westos$
以westos結尾
w…sw開頭,s結尾,中間任意4個任意字元
…ss結尾,前面5個任意字元
*字元出現任意?+
0到1次
n次m到n次
0到n次
0到n次
最少m次
(lee)
lee字串出現2次
練習指令碼:
請顯示系統中能被su命令切換的使用者名稱
命令格式:
sed 引數 命令 處理物件
sed 引數 處理物件 -f 處理規則檔案
對字元的處理p顯示
sed 5p westos
顯示第5行
sed -n 3,5p westos
顯示3到5行
sed -ne 「3p;5p」
顯示3和5行
sed -ne 1,5p westos
1-5行
sed -ne 『5,$p』 westos
5到最後行
sed -n 『/^#/p』 fstab
顯示以#開頭的行 d
刪除sed 5d westos
刪除第5行
sed 『/^#/d』 fstab
把#開頭的行刪除
sed 『/^uuid/!d』 fstab
除了uuid以外的行都刪除
sed -e 『5,$d』 westos a
新增sed -e 『$a hello world』 fstab
sed -e 『$a hello\nworld』 fstab
sed -e 『/^#/a hello world』 fstab
sed '1,5ahello westos' passwd #把1到5行新增到passwd中
注:若要新增1和5行,不能直接1-5,只能使用兩條命令
c替換整行
sed -e 『/^#/c hello world』 fstab
sed 『5chello world』 westos
sed '/sbin/chellowestos' passwd #替換所有包含sbin的行為hello westos
w把符合的行寫到指定檔案中
sed 『/^uuid/w westosfile』 westos
把westos中uuid開頭的行寫入westosfile中
i 插入在上面,a新增在下面
sed '5ihello westos' westos
r #整合檔案
sed '5r hah' westos
sed|字元替換
sed 's/:/###/g' westos
sed 's/:/###/' westos
sed 's/:/###/g' westos
sed '1,5s/:/###/g' westos
sed '1s/:/###/g' westos
sed '1s/:/###/g;5s/:/###/g' westos
sed '/lp/,/shutdown/s/:/###/g' westos
sed 's/\//####/g' westos
sed 's@/@####@g' westos
sed 's@/@####@g' -i westos #把sed處理的內容儲存到westos檔案中
練習:apache_port.sh指令碼後接數字,http的埠就改為此數字,假設selinux為關閉狀態
補充:
sed '=' passwd #在每一行上面標註行號
sed '$=' passwd #在最後一行前標註行號
sed -n '$=' passwd #只顯示最後一行的行號
awk -f 分隔副 begin{}{}end{} filename
引數解釋
nr行數
nf列數
filename
檔名稱本身
westos
westos變數值
「westos」
westos字串
/bash$/
條件/條件1
條件2/
/條件1/
/條件1/&&/條件2/
條件1並且條件2
$0所有的列
$1第一列
$2第二列
$3第三列
#/etc/passwd檔案的第六列沒有home關鍵字並且以bash結尾的行
awk -f : 『katex parse error: expected 'eof', got '&' at position 10: 6!~/home/&̲&/bash/』 /etc/passwd
Linux文字處理工具(grep sed awk)
文字處理 說明grep c str tmp test 列印符合要求的行的數目。grep i str tmp test 輸出符合要求的行,忽略str大小寫。grep n str tmp test 輸出符合要求的行及行號。grep v str tmp test 輸出不符合要求的行。grep a2 str...
文字處理工具
參考 man,info,magedu講義 宣告 以下英文純屬個人翻譯,英文b級,歡迎糾正,以下內容純屬個人理解,並沒有對錯,只是參考,盜版不糾,才能有限,希望不誤人子弟為好。these commands read and write entire files,possibly transformin...
文字處理工具
linux 上文字處理三劍客 grep 文字過濾工具 模式 pattern awk linux上的實現為gwak 文字報告生成器 格式化文字 正規表示式 regual expression regexp 由一類特殊字元及文字所編寫的模式,其中有些字元表示其字面意義,grep options colo...