sed -n '/pattern/=' filename,-n 選項只列印行號,不列印檔案內容。
[dywang@dywmac zzz]$ sed -n '/[gf]ood/=' re.txt 1 2 9
sed -n '/pattern/d' filename,刪除 ssh 遠端連線紀錄檔中 IP 為 192.168.122.0/24 的紀錄,sed 沒有加 -i 選項不會真的刪除檔案中的內容,只是螢幕輸出中刪除。
[dywang@dywmac ~]$ sed '/192\.168\.122\.[0-9]\{1,3\}/d' .ssh/known_hosts \
| grep 192.168.122 --color
+ - * / 的取代,使用雙引號時,減號要使用兩個反斜線跳脫。
[dywang@deyu moodle]$ echo '+-*/+-*/' | sed "s/\([+\\-*/]\)/\1A/g" sed: -e expression #1, char 19: Invalid range end [dywang@deyu moodle]$ echo '+-*/+-*/' | sed "s/\([+*/\\-]\)/\1A/g" +A-A*A/A+A-A*A/A
+ - * / 的取代,使用單引號時,減號就可以使用一個反斜線跳脫。
[dywang@dywIssd zzz]$ echo '+-*/+-*/' | sed 's/\([+*/\\-]\)/\1A/g' +A-A*A/A+A-A*A/A [dywang@dywIssd zzz]$ echo '+-*/+-*/' | sed 's/\([+*/\-]\)/\1A/g' +A-A*A/A+A-A*A/A
2017-06-14