我希望 o/p 作为所有者列表及其文件名、文件路径和文件大小。我正在使用两个命令来获取 o/p。谁能建议我如何在单个命令中获取 o/p。我使用的命令是:
ls -l | awk '{print $3, $4 }' > test.txt
这给了我所有者和目录的列表。
第二个是:
find . -size +100k -print0 | xargs -0 ls -sd >tets2.txt
这给了我文件的文件名和大小。
有点不明白,你的意思是管它们两个还是在同一行中执行每个命令。稍后做,你可以做
ls -l | awk '{print $3, $4 }' > test.txt ; find . -size +100k -print0 | xargs -0 ls -sd >tets2.txt
第一个命令返回所有者和组,而不是文件名。它仅适用于当前目录。第二个命令也适用于子目录,但仅适用于大文件。两个不相关的命令很难粘合在一起,但如果您的目标是防止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];
}