Shell-Script
sed 中的變數
我有一個文件,其中包含具有絕對路徑的文件名。
在該路徑的中間,是一個變數目錄,每當我對變數部分進行硬編碼時,它都可以正常工作,但是當我用變數名替換它時,該
sed
部分就不起作用了。該
sed
部分是刪除模式或就此而言,路徑。file=`echo $one_file | sed 's:/dir1/dir2/$VAR/last_dir/::'`
當你使用單引號,也就是硬引號時,變數名不會被擴展。您需要使用雙引號,也就是軟引號。
sed "s:/dir1/dir2/$var/Last_dir/::"
或轉義引號:
sed 's:/dir1/dir2/'"$var"'/Last_dir/::'
您還需要確保
$var
不包含任何冒號、點、星號[
、、換行符或反斜杠字元,或者如果存在,則將它們轉義。