複数のバックスペース文字 ( ^H
) を含むファイルがあります。これらのバックスペースを perl 内で「適用」できるようにしたいと考えています。いくつかの解決策を見つけましたが、私の場合はどれもうまくいきませんでした。重要な行は次のとおりです。
test>>M^H ^HManagement.^H^H^H^H^H^H^H^H^H^Hanagement.F^H ^HFiles.^H^H^H^H^Hiles.s^H ^Hs.^H ^Hc^H ^H^H ^Hscript.^H ^H^H^H^H^Hripts^H ^H^H ^H^H ^H^H ^H^H ^H^H ^H^H ^Hscripts.^H.s^H ^Hshow_file ^H^H^H^H^H^H^H^H^Hhow_file = transform_factory_to_running^M
結果は次のようになります。
test>>Management.Files.scripts.show_file = transform_factory_to_running^M
https://stackoverflow.com/a/1298728/2837411で提案されているように、vi内でテキストを正しく変換できます。しかし、この質問でも提案されているperlソリューション: https://stackoverflow.com/a/1298970/2837411はうまくいきませんでした(を使用 $_
):
s{([^\x08]+)(\x08+)}{substr$1,0,-length$2}eg;
この出力は次のとおりです。
test>>Management.Files.sscriptriptscripts.show_file = transform_factory_to_running^M
すべてのバックスペースが消えましたが、それらのいくつかが別のバックスペースに適用されているように見えますか?!