2012-12-04 62 views
1

我想将o/p列为所有者及其文件名,文件路径和文件大小。 我使用两个命令来获取o/p。任何人都可以建议我如何得到O/P在一个单一的选指令,命令我使用的是:如何在Unix和Linux中的单个命令中管多个命令

ls -l | awk '{print $3, $4 }' > test.txt 

这给了我老板和目录列表。

:第二个是:

find . -size +100k -print0 | xargs -0 ls -sd >tets2.txt 

这给我的文件的文件名和大小。

回答

0

排序不明白,你的意思是管他们两个或做同一行中的每个命令。要做到以后,你可以做

ls -l | awk '{print $3, $4 }' > test.txt ; find . -size +100k -print0 | xargs -0 ls -sd >tets2.txt 
0

第一个命令返回所有者和组,而不是文件名。它只适用于当前目录。第二个命令也适用于子目录,但只适用于大文件。两个不相关的命令很难拼在一起,但如果您的目标是防止对文件调用stat两次,则可以修改以下Perl脚本以满足您的需要:

use feature 'say'; 
while (my $file = glob '*') { 
    my @stats = (stat $file)[4,5,7]; 
    say join "\t", $file, 
        (getpwuid $stats[0])[0], 
        (getgrgid $stats[1])[0], 
        $stats[2]; 
}