/ / perlを使用してExcelから改行またはキャリッジリターンを削除する-perl、newline、carriage-return、linefeed

perl - perl、改行、復帰改行、改行でExcelから改行や改行を取り除く

の行を読み取ろうとするたびに。csvファイルは、行を単一の行として扱うのをやめ、1つだけと想定される複数の配列に格納します。私が見ているのは、.csvファイルを読んでいるときに、いくつかのキャリッジリターン/メモ帳で開いたときにこれらの奇妙な正方形が含まれているようです。ファイルからこれらの文字を削除して、.csvなしで正しく読み取ることができるようにします。終了が早すぎます。perlスクリプトを使用してこれを行うにはどうすればよいですか。

回答:

回答№1は1

perlのchomp()関数を使用して、末尾の空白をクリーンアップできます。このようなものを使用して、末尾の空白をすべて切り刻み、単一の改行に置き換えることができます。

perl -ne "while(chomp) { } print "$_n";" filename.csv

回答№2の場合は0

ファイル全体を1行で読み取りたい場合は、入力レコード区切り文字を無効にするだけです。

local $/;
my $file = <>;

つまり、perl内のデータを使用したい場合です。他のプログラムが使用できるように入力ファイルを変更したいだけで、改行/キャリッジリターンを気にしない場合:

perl -pi.bak -we "s/[rn]+//g" input.csv

これにより、のインプレース編集が行われます。 input.csv、バックアップをに保存します input.csv.bak。このコマンドを2回実行すると、バックアップが上書きされるため、適切なバックアップを別の場所に保存することに注意してください。

これらの記号が存在してはならないことがわかっている場合にのみ、これをお勧めします。