2016-10-19 63 views
0

我有一個文件與幾個具有以下格式線的線替換部分:查找和使用變量外殼

#ABC-1X1X-XXX-8000-2AB-XXXX-3000    $(var1) $(var2) $(var3) $(var4) 

尋找ABC-1X1X-XXX-8000-2AB-XXXX-3000後,我需要刪除#和更新文件。運行其他幾個命令並將其恢復爲原始狀態。

我在下面試過,但是用這個刪除了#,但是也刪除了我的其他變量,即行的其餘部分。我只想要#從該行中刪除沒有別的。

look_for=ABC-1X1X-XXX-8000-2AB-XXXX-3000 
found=($(grep $look_for $file)) 
sed -i "/$found/c \\$look_for" $file 

輸出:

ABC-1X1X-XXX-8000-2AB-XXXX-3000     (missing all other variable) 
+0

請看看[編輯的幫助(http://stackoverflow.com/編輯 - 幫助)。 – Cyrus

回答

0

我想這和它的工作:

sed -i "s/$found/$look_for/g" "$file"