我需要幫助我的Perl代碼。我需要能夠在每行上至少有50行的文件中讀入一個字。我有一個代碼來打印文件中的每一行,但是如何將這些項目排序然後輸出到一個新文件中。Perl:文件進入排序文件出
while(<>){
chomp;
print "$_ :is in the file";
}
我竭力弄清楚如何採取一個文件,(我認爲<>解析按行文件行)出來把它放到其他文件。
我需要幫助我的Perl代碼。我需要能夠在每行上至少有50行的文件中讀入一個字。我有一個代碼來打印文件中的每一行,但是如何將這些項目排序然後輸出到一個新文件中。Perl:文件進入排序文件出
while(<>){
chomp;
print "$_ :is in the file";
}
我竭力弄清楚如何採取一個文件,(我認爲<>解析按行文件行)出來把它放到其他文件。
對於多個功能的方法的輸出,作爲一襯墊:
perl -e '$, = "\n"; print sort map { chomp; $_ } <>' input.txt > output.txt
這print
s a sort
ed版本的map
ping每行通過chomp
,用換行符分隔($,
)。
作爲一個獨立的腳本,其寫入到預定的文件:
#/usr/bin/env perl -w
$, = "\n";
open(my $output, ">", "output.txt")
or die "Cannot open output.txt: $!\n";
print $output sort map { chomp; $_ } <>;
close $output;
perl -we 'print sort <>' input.txt > output.txt
擊穿:
input.txt
被打開閱讀時,我們使用鑽石操作 <>
<>
在列表環境的文件中的所有行返回到sort
sort
按字母順序排列行並將列表返回到print
print
打印排序列表perl
命令將文件 output.txt
'@array = <>'以獲得所有線路。 [排序](http://perldoc.perl.org/functions/sort.html)他們,[打開](http://perldoc.perl.org/functions/open.html)輸出文件和[打印](http ://perldoc.perl.org/functions/print.html)。 – TLP
所以我們在說話:open(new_file); foreach $ line(@array){print「$ line」; } close(new_file)不確定打開是否正確 – jenglee
這些是指向文檔的鏈接,如果您想閱讀。打印數組時不需要循環 - print使用一個列表作爲參數:'print @ array'。 – TLP