[問題] 文字檔案處理

看板Perl作者 (~烤焦麵包~)時間17年前 (2008/02/12 05:06), 編輯推噓1(101)
留言2則, 2人參與, 最新討論串1/2 (看更多)
我有一個文字檔 (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
perl -ln0e 'print $_ for sort split /\s+/'
02/12 05:52, 1F

02/12 12:40, , 2F
謝謝謝謝
02/12 12:40, 2F
文章代碼(AID): #17iBZ8ce (Perl)
文章代碼(AID): #17iBZ8ce (Perl)