1

所有者とそのファイル名、ファイルパス、ファイルサイズのリストとしてo/pが必要です。o/pを取得するために2つのコマンドを使用しています。誰かが私に単一のコマンドでo/pを取得する方法を提案できますか?私が使用しているコマンドは次のとおりです:

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

これにより、所有者とディレクトリのリストが表示されます。

そして2つ目は:

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

最初のコマンドは、ファイル名ではなく、所有者とグループを返します。現在のディレクトリに対してのみ機能します。2 番目のコマンドは、サブディレクトリに対しても機能しますが、巨大なファイルに対してのみ機能します。2 つの無関係なコマンドを結び付けるのは困難statですが、ファイルに対して 2 回呼び出されるのを防ぐことが目的の場合は、ニーズに合わせて次の 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 に答える