-1

私はこれをやろうとしてきましたが、間違っていることはわかっていますが、誰かがポインタを手伝ってくれれば幸いです。私がやろうとしているのは、テキストファイルからファイル名のリストを取得し、それらを 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)

私は何を間違っていますか?

4

1 に答える 1

0

ここ@fileに、指定されたファイルのデータが含まれています。@fileこれで、必要なデータを処理および検索できますgrepsplitまたはpattern matching、grepさ​​れたデータをいくつかの変数に格納し、それらの変数を任意の順序で出力できます。

于 2013-03-04T07:42:19.993 に答える