2016-10-19 12 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" 
関連する問題