怎么打印出一行末尾的几个字符

怎么打印出一行末尾的几个字符

#cat a.file
afsfsf fdsf,adfsfs
fdfs= dafdf,adfssafsfdsa

这个文件有两行,如何打印出每行的最后五个字符。


QUOTE:
原帖由 huanghaojie 于 2009-1-8 17:23 发表
#cat a.file
afsfsf fdsf,adfsfs
fdfs= dafdf,adfssafsfdsa

这个文件有两行,如何打印出每行的最后五个字符。

不算换行符吧

[Copy to clipboard] [ - ]
CODE:
perl -ne 'print substr($_, -6)' a.file



QUOTE:
原帖由 ynchnluiti 于 2009-1-8 17:37 发表

不算换行符吧
perl -ne 'print substr($_, -6)' a.file

放在脚本里怎么写呀


QUOTE:
原帖由 huanghaojie 于 2009-1-8 17:56 发表


放在脚本里怎么写呀

和命令行一样撒

BTW,在 perlrun 里面找下对 -n 的描述。
print + substr

[Copy to clipboard] [ - ]
CODE:
#!/usr/bin/perl -w

use warnings;
use strict;

open FH, "a.file" or die "a.file:$!";

#while (<FH>) {
#    print substr($_, -6);
#}
print substr($_, -6) while (<FH>);

close FH;



QUOTE:
原帖由 ynchnluiti 于 2009-1-8 18:30 发表
print + substr

#!/usr/bin/perl -w

use warnings;
use strict;

open FH, "a.file" or die "a.file!";

#while () {
#    print substr($_, -6);
#}
print substr($_, -6) while ();

close FH;

多谢。这是对的,

11 open  my $file, "< /home/jiangt/perl/33" or die "Can't open 33!";
12
13 while (<$file>
14 {
15 print substr($_,-;}
16 #print substr($_,-6) while (<file>;
17 close $file;

我这么写也是对的,但不知道和你的有什么区别
这里只是写法不同