changesfile という名前のファイルから sed に引数を正しく渡そうとしていますが、失敗しています。ファイル changesfile の内容または for ループの使用方法である可能性があります。わからない。
私が使用しているコマンド:
cat changesfile | while read i ; do sed -e "s/$i//g" "filename" ; done
cat changesfile | while read i ; do sed -i "s/$i//g" "filename" ; done
cat changesfile | while read i ; do sed -e '/$i/d' filename ; done
cat changesfile | while read i ; do sed -e '/"$i"/d' filename ; done
ファイル内の特定の行を大量のメタ文字と一致させる必要があります。一致させて削除しようとしているものは以下のとおりです。
fileattribute[hostname.stile.tib.area2]=Disk /var;default_queue;area-unix
fileattribute[hostname.stoop.trb.area]=Disk /tmp;default_queue;area-unix
情報を sed に正しく渡すためのワイルドカードとエスケープ文字を含む changesfile の内容は次のとおりです。
.*hostname\.stoop\.trb\.area.*Disk.*\/tmp.*area\-unix$
.*hostname\.stile\.tib\.area2.*Disk.*\/var.*area\-unix$
これまでのところ、何も機能していません。一部のコマンドは、正規表現とその他のものを削除します。理由がわからない。どんなアドバイスでも大歓迎です。私の職場ではまだ誰も役に立っていません。