作者Neisseria (Neisseria)
看板Perl
标题Re: [问题] 请问要怎样取出最後一行
时间Mon Nov 30 15:42:38 2015
先提供一个用 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)》之铭言:
: 请问要怎样直接取出一个档案的最後一行
: 然後把这一行印到另一个档案
: 并且把原先的档案的最後一行删除後更新呢?
: 谢谢.
--
※ 发信站: 批踢踢实业坊(ptt.cc), 来自: 203.71.94.1
※ 文章网址: https://webptt.com/cn.aspx?n=bbs/Perl/M.1448869361.A.AF0.html