次のコードを使用して、string1またはstring2と一致する行を置き換えています。それは、HTMLテキストで正常に正常に動作しています。 (私はregexとhtmlを使用することは歓迎されていることを知っています。)しかし、特定のファイルでは動作しません。SED複数の文字列をすべてのテキストファイルにマッチさせていますが完了しません
私は適切な行末を確認し、コードをダブルチェックしてみました。実際のファイルを共有することはできません.HTML行がたくさんあります。
cat file.txt | sed 's/.*\(string1\|string2\).*/match/'
提供された詳細を使用してファイルを使用しないで、このコマンドを実行する理由を確認できますか?あなたの洞察は非常に高く評価されます。
アップデート:ここで
があるいくつかの他のアイデア:
- 有力でした空白または空白行は、それを引き起こしますか?
- 大きな括弧や特殊文字が原因ですか?
- SEDにハングアップする何かがありますが、同様の経験がありますか?
- SEDをハングアップさせる原因となる非常に長い行かもしれませんか?
アップデート2:私は1つの大規模な長い行があることを考え出し
- 494000の文字が。この行は主にCSSコードと詳細です。
今、私は疑問に思っています...それは長い行か、その行の中の文字ですか?
ノードを使用できますか?もしそうなら、あなたは 'document.querySelector'を使うことができます。 – Enijar
私はできると思いますが、私は真っ直ぐなsed、awkまたは他のbashコマンドを使うのが本当に好きです。 – DomainsFeatured
十分ですが、HTMLファイルのサンプルの一部を教えてください。 – Enijar