sed常用模板整理

sed可以按照指令或腳本編輯文本的linux工具,文本處理功能非常強大,本文總結一些工作中常用的sed模板,方便大家使用

替換

1. 替換文件中所有的 aaa 到 bbb

sed -i 's/aaa/bbb/g' /path/to/file

2. 找到文件的修改日期

stat deploy | sed -n '/^Modify.*/p' # 找到
stat deploy | sed -n '/^Modify.*/p' | grep -Eo "....-..-.. ..:..:.." # 提取出修改起義

2. 找到 aaa 參數,並設置爲off

sed -i '/^aaa/s/on/off/' /path/to/file

可以配合grep使用,完成自動設置參數

have_aaa=$(grep aaa /path/to/file | sed '/^#.*/d') # 尋找是否以存在aaa參數
if [ ! -z $have_aaa ];then # 如果存在
    sed -i '/^aaa/s/on/off/' /path/to/file # 則修改爲off
else  # 如果不存在
    sed -i '/ccc/a aaa off' /path/to/file # 則在ccc參數下新增 aaa off
    # sed -i '$a/aaa off' /path/to/file  # 則在最後新增 aaa off
fi

濾掉所有註釋行

cat /etc/my.cnf | sed '/^#.*/d'

找到並刪除

找到包含aaa的行並刪除

sed -i '/aaa/d' /path/to/file

插入追加

  • a/ 在當前行下面插入;
  • i/ 在當前行上面插入;
  • c/ 把當前行改爲新的;

在ccc開頭的行下面插入 something

sed -i '/^ccc/a something' /path/to/file

在ccc開頭的行後追加 something

sed -i '/^ccc/s/$/something/' /path/to/file

在ccc後緊接着追加something

sed -i 's/ccc/&something/' /path/to/file
發表評論
所有評論
還沒有人評論,想成為第一個評論的人麼? 請在上方評論欄輸入並且點擊發布.
相關文章