1

2つのperlスクリプトがあります。最初のスクリプトはファイルから空白のlinを削除し、2番目のスクリプトはファイル内のすべてのスペースを削除します。これらの正規表現の両方を1つのスクリプト内で接続できるかどうか疑問に思います。


スペースの場合は、この正規表現を使用しました。$str =~ tr/ //d; 空白行の場合は、この正規表現を使用しました。

while (<$file>) {
    if (/\S/){
    print $new_file $_; }}

4

2 に答える 2

4

本当に簡単なはずです。iftr/ //d行の前に追加するだけです。

注:スペースのみを含む行も削除されます。それらを保持したい場合(ただし、空の行に音訳されます)、印刷行の前に音訳を挿入します。

于 2013-01-18T13:47:52.240 に答える
2

スペースを含む行の終わりをトリミングする場合は、次のように機能させることができます。

perl -pi -e 's/\s*$/\n/' f1 f2 f3   #UNIX file format
perl -pi -e 's/\s*$/\r\n/' f1 f2 f3   #DOS file format
于 2013-09-17T07:49:41.747 に答える