Unixで特殊文字間の行を削除する

Unixで特殊文字間の行を削除する

私のコード/テキストファイルでは、との間/*のすべての内容が*/コメントアウトされています。私のテキスト/コードファイルからこのコメントされたコードを削除する必要があります。

$ cat codefile.txt
/*~BB~*************************************
asdasd
asdas
asdasd
asdas
asdad
*************************************/

/*
aasdas
asdsa
asdsa
*/

しかし、私が使用するとき:

sed -i '/^\/\*/,/*\*\//d'

スラッシュの後/前に星が1つだけある行だけを削除します。つまり、2番目のブロックを意味します。

最初のものをどのように取り除くことができますか?

ベストアンサー1

以下のコマンドはうまくいき、ファイルに別の内容を挿入してテストしたりしました。 /*と*/の間の行のみを削除します。


sed '/\/\*/,/\*\//d' filename

おすすめ記事