私はPerlに詳しくありません。これを実行した場合の影響を知りたい:
cat file_name | tr -d '\000' | perl -pi -e 's/[^\n\040-\176]/#/g' > new_file.out
私はPerlに詳しくありません。これを実行した場合の影響を知りたい:
cat file_name | tr -d '\000' | perl -pi -e 's/[^\n\040-\176]/#/g' > new_file.out
"file_name" という名前のファイルを読み取り、すべてのシンボル\000
(ヌル シンボル) を削除し、 ではない\n
、または の間\040-\0176
にあるすべてのシンボルを置き換え#
、最後に結果を "new_file.out" に書き込みます。
これにより、次の 2 つのことが行われます。
「入力ファイルをインプレースで変更する」という意味で、そこに入力ファイルがないので、perl-pi
は私に関係があります。-i
cat
と`trを削除して使用するだけで、コマンドライン全体を短縮できると思います。
perl -pe 's/[^\n\040-\176]/#/g' file_name > new_file.out
そして、実際に-i
スイッチを利用して使用することができます
perl -p -i -e's/[^\n\040-\176]/#/g' file_name
クリーンアップされたバージョンがファイルに入れられますfile_name
。
安全のためにバックアップバージョンが必要な場合は、に変更-i
する-i.bak
と、新しいコンテンツが挿入されfile_name
、古いコンテンツが保持されfile_name.bak
ます。
注:私のバージョンは完全に同等ではありません。以下のコメントを参照してください。