-rw-r--r-- 1 root root 3178 Jun 29 16:08 FTS_TESTCAMPAIGN1_29_06_2013_160823.html
-rw-r--r-- 1 root root 711 Jun 29 16:08 FTS_ABORT_BACKUP_JOB_1_29_06_2013_160823.html
-rw-r--r-- 1 root root 405 Jun 29 16:08 FTS_ABORT_BACKUP_JOB_1_29_06_2013_160823.csv
-rw-r--r-- 1 root root 466 Jun 29 16:08 FTS_ABORT_BACKUP_JOB_1_29_06_2013_160823
-rw-r--r-- 1 root root 3178 Jun 29 16:14 FTS_TESTCAMPAIGN1_29_06_2013_161404.html
-rw-r--r-- 1 root root 711 Jun 29 16:14 FTS_ABORT_BACKUP_JOB_1_29_06_2013_161404.html
-rw-r--r-- 1 root root 405 Jun 29 16:14 FTS_ABORT_BACKUP_JOB_1_29_06_2013_161404.csv
-rw-r--r-- 1 root root 466 Jun 29 16:14 FTS_ABORT_BACKUP_JOB_1_29_06_2013_161404
-rw-r--r-- 1 root root 0 Jun 29 16:25 log
我在上面的文件中列出了目录。我需要输出为:
FTS_TESTCAMPAIGN1_29_06_2013_160823.html
FTS_ABORT_BACKUP_JOB_1_29_06_2013_160823.html
FTS_ABORT_BACKUP_JOB_1_29_06_2013_160823.csv
FTS_ABORT_BACKUP_JOB_1_29_06_2013_160823
FTS_TESTCAMPAIGN1_29_06_2013_161404.html
FTS_ABORT_BACKUP_JOB_1_29_06_2013_161404.html
FTS_ABORT_BACKUP_JOB_1_29_06_2013_161404.csv
FTS_ABORT_BACKUP_JOB_1_29_06_2013_161404
log
我怎样才能使用Perl?
答案 0 :(得分:1)
只要目录列表保持相同的结构,以下快速和脏的perl单行将完成这项工作:
perl -pi.bak -ae 's/^.*$/$F[8]/' FILENAME
答案 1 :(得分:0)
use File::Listing qw(parse_dir);
use File::Slurp qw(read_file);
print $_->[0], "\n" for parse_dir read_file 'ls-l';
答案 2 :(得分:0)
perl -naE 'say $F[$#F]' file
即,启用自动拆分并打印每行的最后一个字段。
类似地,在awk
:
awk '{print $NF}' file