[問題] 文字檔案處理
我有一個文字檔 (data.txt),文字格式如下:(裡面包含了多餘的空白,換行字元等)
abandon babble cabal dabble earnest fabric gadfly habitat icicle
jabber kaleidoscope labile macabre nadir oafishness pacifist quack
rabble sabotage table ubiquitous vaccinate waddle xenophobe
yacht zealotry
aberrant bacterium cadet dally earthly facile gait halcyon idiom
jar kidnap lachrymose maelstrom narcotic obedient padding qualms
radius sacrilege tackle umpire vagrancy waggish yielding zone
我想將上面的資料做排序,並且輸出到另外一個檔案 (sorted.txt)
結果如下:
abandon
aberrant
babble
bacterium
cabal
...
我把他拆成兩之程式來處理,第一個程式 chomp.pl 來處理多餘的空白與換行等,
my $filename = "data";
open IN, "< $filename.txt";
open OUT, "> $filename.new.txt";
while (<IN>){
s/\s+/ /g;
s/^\s+//g;
print OUT;
}
close OUT;
close IN;
第二個程式 sort.pl 用來處理資料的排序
#!/usr/bin/perl -w
use strict;
my $file = <>;
chomp($file);
@_ = split(/ /, $file);
foreach ( sort @_ ){
print "$_\n";
}
我想請問有沒有比較聰明的辦法一次把這兩件事情做完?謝謝。
--
※ 發信站: 批踢踢實業坊(ptt.cc)
◆ From: 61.228.78.70
推
02/12 05:52, , 1F
02/12 05:52, 1F
→
02/12 12:40, , 2F
02/12 12:40, 2F
討論串 (同標題文章)
Perl 近期熱門文章
PTT數位生活區 即時熱門文章