私のファイルにテキストが多すぎます。===
シンボルとの間のすべてのテキストを削除したいです<!!!>
。たとえば、コマンドを実行した後でText ===some comments<!!!> lala ===aaa<!!!>"
なければなりません。Text lala
私はそれを試しましたが、うまくsed -i -E "s/(===(.*)<!!!>)//" file
いきませんでした。
編集する:
Text ===
some commenkjghkb
ufjhbgdfxjhg
srtdfts
</!!!>
lala ===aaa
</!!!>"```
しなければならないText lala
ベストアンサー1
Perl正規表現を使用するとできます欲はないマッチ:
perl -pe 's/===.*?<!!!>//g' file
編集1:テキストを挿入するには、次のようにします。
perl -pe 's/===.*?<!!!>/Text you want to insert/g' file
編集2:複数行コメントを処理する必要がある場合は、次のものを使用することもできます。
perl -pe 'BEGIN{undef $/;} s|===.*?</!!!>|insert|gs' file
s
改行文字にも一致する修飾子を使用する必要があります.
。入力区切り文字であるperl変数は$/
undefに変更する必要があります。これは「フルルック音」モードとも呼ばれます。