1

正規表現に基づいてファイルを解析するために書いている perl スクリプトがあります。問題は、ファイルが常に新しい行で始まることです。vi で隠し文字をオンにすると、「$」として表示されます (これは cygwin の vi です)。正規表現を使用してそれらを削除する方法はありますか? 私は試した

s/\n//g

しかし、それはうまくいかなかったようです。

4

3 に答える 3

3

入力ファイルの先頭に 1 行余分に存在することだけが問題の原因であり、 のような典型的なループを使用していると仮定すると、while (<FILE>) { ... }この行を一番最初に挿入することで、入力ファイルの最初の行をスキップできます。あなたのループ内で始まります:

next unless $. > 1;
于 2013-09-06T19:03:04.800 に答える
1

あるいは単に:

#!/usr/bin/perl
use warnings;
use strict;
use File::Slurp;

my @file = read_file('input.txt');
shift(@file);
foreach(@file){
    ...
}
于 2013-09-06T19:09:08.243 に答える
1

最も簡単な方法はsed

sed 1d
于 2013-09-07T00:36:14.757 に答える