Shell腳本sed命令修改文件的某一行


用法

使用Shell腳本自動化調參需要對文件進行修改

最初想到調用python進行字符串處理,通過正則表達式匹配然后修改,比較麻煩

偶然發現shell其實自帶sed命令可以處理這個問題

#!/bin/bash
sed -i "26c Delay = $1" camera.lua

運行上述腳本./calib.sh 250即可將camera.lua配置文件的第26行改寫為Delay = 250

特殊

若寫入字符串中存在雙引號則需要通過\"進行轉義

#!/bin/bash
sed -i "2c Name = \"MyCam\"" camera.lua

擴展

  • sed
    sed命令可以按行顯示文件,例如
sed -n '26p' camera.lua  #顯示camera.lua的第26行內容

添加-i參數可對文件直接進行修改(慎用)

  • $0
    shell中一些特殊變量可以獲取外部傳入的參數值
$ ./calib.sh 1 2 3

$0在shell腳本中用於獲取傳入命令的參數,其中$0./calib.sh即命令本身
$1為第一個參數,值為1
以此類推$2 $3


免責聲明!

本站轉載的文章為個人學習借鑒使用,本站對版權不負任何法律責任。如果侵犯了您的隱私權益,請聯系本站郵箱yoyou2525@163.com刪除。



 
粵ICP備18138465號   © 2018-2025 CODEPRJ.COM