私のテキストファイルからこのパターンを削除したいです[-.(D_)-]
。 sedとawkにしてみましたが、結果はありません。
デフォルトでは、テキストファイルからこれらの文字間の[-
すべての内容を削除したいと思います。-]
答え1
sedを使用してください:
sed 's/\[-.*-]//g'
例:
~ echo 'foo[-.(D_)-]bar' | sed 's/\[-.*-]//g'
foobar
エスケープされていない場合は、[
角括弧式(文字リストまたは範囲を含む、この場合はリスト、、、)[-.*-]
の先頭として扱われます。-
.
*
答え2
サンプルデータと出力を提供する方が良いでしょう。
入力.txt:
test1[-.(D_)-]test2
[-
& を除去するには、-]
以下を試してください。
sed -i "/\(.*\)[-.*-]\(.*\)/\1 \2/" Input.txt
[-
&を維持するには、以下を試してください-]
。
sed -i "/\(.*\)[-.*-]\(.*\)/\1[--]\2/" Input.txt
出力:
test1[--]test2
-i>標準出力として印刷する代わりにファイルを編集します。 (必要な出力であることを確認するには、まずこのオプションを削除してください。)