Re: [問題] 請問要怎樣取出最後一行

作者: Neisseria (Neisseria)   2015-11-30 15:42:38
先提供一個用 Unix 命令列工具的方法
請慎重使用,sed 那行真的會移除最後一行
$ tail -n 1 old-file > new-file
$ sed -i '$ d' old-file
然後把這兩行自行重新組合成 shell script 即可
如果要用 Perl,可以用 Tie::File 模組
同樣需小心使用,真的會移除最後一行
use Tie::File;
my $file = 'old-file';
tie @lines, Tie::File, $file or die "Can't update $file: $!\n";
print $lines[-1], "\n"; # Or redirect to another file
delete $lines[-1];
摘自 Perl Cookbook,可見
http://docstore.mik.ua/orelly/perl4/cook/ch08_11.htm
※ 引述《jasonlee1001 (Jason)》之銘言:
: 請問要怎樣直接取出一個檔案的最後一行
: 然後把這一行印到另一個檔案
: 並且把原先的檔案的最後一行刪除後更新呢?
: 謝謝.

Links booklink

Contact Us: admin [ a t ] ucptt.com