1

我希望 o/p 作为所有者列表及其文件名、文件路径和文件大小。我正在使用两个命令来获取 o/p。谁能建议我如何在单个命令中获取 o/p。我使用的命令是:

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

这给了我所有者和目录的列表。

第二个是:

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

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

4

2 回答 2

0

有点不明白,你的意思是管它们两个还是在同一行中执行每个命令。稍后做,你可以做

ls -l | awk '{print $3, $4 }' > test.txt    ;   find . -size +100k -print0 | xargs -0 ls -sd >tets2.txt
于 2012-12-04T09:35:26.940 回答
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];
}
于 2012-12-04T09:51:40.533 回答