正規表現に基づいてファイルを解析するために書いている perl スクリプトがあります。問題は、ファイルが常に新しい行で始まることです。vi で隠し文字をオンにすると、「$」として表示されます (これは cygwin の vi です)。正規表現を使用してそれらを削除する方法はありますか? 私は試した
s/\n//g
しかし、それはうまくいかなかったようです。
正規表現に基づいてファイルを解析するために書いている perl スクリプトがあります。問題は、ファイルが常に新しい行で始まることです。vi で隠し文字をオンにすると、「$」として表示されます (これは cygwin の vi です)。正規表現を使用してそれらを削除する方法はありますか? 私は試した
s/\n//g
しかし、それはうまくいかなかったようです。
入力ファイルの先頭に 1 行余分に存在することだけが問題の原因であり、 のような典型的なループを使用していると仮定すると、while (<FILE>) { ... }
この行を一番最初に挿入することで、入力ファイルの最初の行をスキップできます。あなたのループ内で始まります:
next unless $. > 1;
あるいは単に:
#!/usr/bin/perl
use warnings;
use strict;
use File::Slurp;
my @file = read_file('input.txt');
shift(@file);
foreach(@file){
...
}
最も簡単な方法はsed
sed 1d