我一直在尝试这样做,并且我知道我做错了,但是如果有人可以提供指针帮助,我将不胜感激。我正在尝试做的是从文本文件管道中获取文件名列表,通过 for 循环将它们传递给 stat,然后让 perl 将这些行解析为如下所示的列:
列表包含:
/home/hack/public_html/.htaccess
/home/hack/public_html/index.php
/home/hack/public_html/list
我知道这可以完全在 perl 中完成,但我明确需要将输出通过管道传输到 perl,如下所示:
for i in $(cat list); do stat $i | perl -wnl -e '@file=split /File:/ print @file;';done
理想情况下,我想像这样从 stat 中获取输出:
File: `.htaccess'
Size: 177 Blocks: 8 IO Block: 4096 regular file
Device: 5dh/93d Inode: 159909615 Links: 1
Access: (0644/-rw-r--r--) Uid: ( 503/ hack) Gid: ( 503/ hack)
Access: 2013-02-24 15:09:41.000000000 -0600
Modify: 2013-02-10 14:24:04.000000000 -0600
Change: 2013-02-24 15:09:42.000000000 -0600
但我只需要按列顺序排列的以下内容:
File: (the filename) Modify:(dates) Change:(dates) IO Block: (number)
我究竟做错了什么?