私は、ディレクトリ内のすべてのファイルをサイズと行数で一覧表示する方法を探しています。これでstat -c \"%s %n\" /directory/*
、ファイル名とサイズを取得するために使用しており、ファイルfind /directory/ -type f -exec wc -l {} +
名と行数を取得するために使用できることを知っていますが、両方をインポートする方法はありますか?
答え1
ほぼすべて来ました。
探す目次-タイプ f -exec wc -lc {}+
ファイル名、行番号、そして氏文字数。
厳密に言えば-c
(別名--bytes
)はカウントとして記録されます。バイト、これはあなたが望むものかもしれません。 「文字」を計算するオプション-m
もあります。--chars
から選択m
オプション文字はマルチバイト文字と見なされます(たとえば、Unicode文字)。-w
実際に単語数を数えるオプションもあります。
答え2
wc
バイト数と行数を指定できます。
find /directory/ -type f -exec wc -l -c {} +
find
ワイルドカード引数()よりも使用する方が良いですstat ... directory/*
。単一のコマンドに名前を付けるには、ディレクトリにファイルが多すぎると後者が失敗するためです。
答え3
ディレクトリから次のコマンドを簡単に実行できます
wc -lc *
答え4
for i in 'find \directory-name\ -type f'
do
echo "Printing line count and size of $i"
cat $i | wc -l
du -sh $i
done
私はこれがあなたが望むものを得るのに役立つと思います。