linux sed 命令總結
阿新 • • 發佈:2019-02-19
下面是網上查詢到的例子:
sed -i ':a;/^+/{s/.*/+ X/;n;n;s/.*/+ X/};n;ba' file.txt
按順序解釋如下:
名稱 | 註釋 |
---|---|
:a | 設定一個標籤a |
/^+/ | 若匹配行首為+ |
s/.*/+ X/ | 替換當前行為+ X |
n;n; | 讀入下一行;再讀入下一行 |
s/.*/+ X/ | 再次替換當前行為+ X |
n; | 讀入下一行 |
ba | 跳轉到標籤a,相當於goto語句,這樣構成迴圈,直到檔案處理結束 |
按照上面的方法自己的例程中應用:
sed -i '/^TFTP_DIRECTORY/{s#.*#TFTP_DIRECTORY ="/opt/tftp"#}' /etc/default/tftpd-hpa
sed -i '/^TFTP_OPTIONS/{s#.*#TFTP_OPTIONS="-l -c -s"#}' /etc/default/tftpd-hpa
替換/etc/default/tftpd-hpd 中的兩行:
cat /etc/default/tftpd-h
前:
#/etc/default/tftpd-hpa
TFTP_USERNAME=”tftp”
TFTP_DIRECTORY=”/var/tftproot”
TFTP_ADDRESS=”[::]:69”
TFTP_OPTIONS=”–section”
後:
#/etc/default/tftpd-hpa
TFTP_USERNAME=”tftp”
TFTP_DIRECTORY=”/opt/tftp”
TFTP_ADDRESS=”[::]:69”
TFTP_OPTIONS=”-l -c -s”