次のコード行があります
BalancerMember http://server3:82 status=D
BalancerMember http://server2:80 status=D
ポート82のエントリを検索して削除したいですstatus=D
。
BalancerMember http://server3:82
これを試しましたがうまくいきません
grep :82 app.conf | sed -i 's/status=D/ /'
sed: no input files
ファイルを変更したいので、-i
オプションが必要です。sed
どんな提案でも。
答え1
完全なsedソリューションをテストできます。
sed -i '/:82 /s/status=D//' file
どこ
/:82 /
82の行を選択してください。s/status=D/
状態を次に置き換える//
何もありません。
答え2
サンプルデータによると、これはうまくいきます
awk '/:82 /{print $1,$2; next} {print}' inputfile
出力を別のファイルにリダイレクトできます。
awk '/:82 /{print $1,$2; next} {print}' inputfile >> newfile
一般的に言えば、私が役立つなら、元のデータを変更したくありません。
答え3
与えられた入力に基づいて
awk '$2~/:82$/{$NF=""}1' input.txt > output.txt