Linux
Linux命令刪除這個
我想在我的文本文件中刪除這種模式
[-.(D_)-]
。我用 sed 和 awk 做了,但沒有結果。基本上我想刪除我的文本文件中與這些字元
[-
之間的任何內容。-]
使用 sed:
sed 's/\[-.*-]//g'
例子:
~ echo 'foo[-.(D_)-]bar' | sed 's/\[-.*-]//g' foobar
如果不轉義
[
,[-.*-]
將被視為括號表達式的開頭(包含一個列表或字元範圍,在本例中為列表-
,.
,*
)。
如果您提供一些範例數據和輸出結果會更好。
輸入.txt:
test1[-.(D_)-]test2
如果你想刪除
[-
&試試這個-]
:sed -i "/\(.*\)[-.*-]\(.*\)/\1 \2/" Input.txt
試試這個如果你想保留
[-
&-]
:sed -i "/\(.*\)[-.*-]\(.*\)/\1[--]\2/" Input.txt
輸出:
test1[--]test2
-i > 就地編輯文件而不是列印到標準輸出。(刪除此選項以檢查這是否是您首先想要的輸出)