linux命令之篩選檔案內容
阿新 • • 發佈:2018-12-03
linux命令之篩選檔案內容(sed命令)
在linux系統中,可能有這樣的需求,比如檢視某個檔案中含有某些字元的內容。比如,日誌檔案中,只要含有error
相關的。
可以使用如下命令:
1、根據字串內容篩選
sed -n "/error/p" logs.log
注意以上/error/p
中的p
必須要帶著,後邊的logs.log
是一個檔案,輸入上邊的命令,則會打印出只含有error
的內容。
下邊用個簡單的例子:
比如某個檔案中內容如下:
192.168.1.168
xshell
1911919229
Amazing
通過輸入如下命令:
sed -n "/192.168/p" file5.sh
最後的結果如下圖所示:
操作起來非常方便。
但是請注意:(2018-11-09補充)
但是有這種情況,大家需要注意一下,比如下邊的內容:
[[email protected] sed]# cat sed.txt
192.168.1.2
192.168.1.3
192.168.1.4
192.168.1.5
121212221
現在要以如下的規則篩選文字:
sed -n "/1.2/p" sed.txt
執行完之後,會出來下邊這樣的情況,如下圖:
第一次這樣用的時候,我懵了半天,後來我才知道,原來這個.
192.168.1.2
,那就可以這麼寫:
sed -n "/1.2$/p" sed.txt
即多加一個結束符號$
。
2、根據行號
還有根據行號篩選如下:
sed -n "2,3p" file5.sh
這樣即是返回第 2
到 3
行的資料,如下:
[[email protected] ~]# sed -n "2,3p" file5.sh
xshell
1911919229
其他sed命令用法可以看這個文章