が、私はこの動作を理解するのに苦労していxargsの:CSHのawkを経由してフェッチ・フィールドは、内部
スクリプトの動作:(日付を含む)のファイルを読み込みます。マルチレベルのディレクトリツリーにファイルのリストを印刷し、そのサイズを取得し、ファイルサイズのみを出力します(今後の手順:ファイルサイズの合計)。スクリプトの開始
:
cat dates | xargs -I {} sh -c "echo '{}: '; du -d 2 "/folder/" | grep {} | head"
2000-03:
1000 /folder/2000-03balbasldas
2000-04:
12300 /folder/2000-04asdwqdas
[and so on]
しかし、私は最初のフィールドにawkを介して、フィルタリングしようとしたとき、私はまだ
cat dates | xargs -I {} sh -c "echo '{}: '; du -d 2 "/folder/" | grep {} | awk '{print $1}'"
2000-03:
1000 /folder/2000-03balbasldas
2000-04:
12300 /folder/2000-04asdwqdas
行全体を取得するには、私はすでに除算らを経由して、それに近づいてきました-impera、そして次のコマンドは、うまく作品:
du -d 2 "/folder/" | grep '2000-03' | awk '{print $1}'
1000
私は何か非常に些細なものを見逃しているのではないかと心配していますが、これまでのところ何も見つかりませんでした。
ありがとう!
入力:
ls -l
drwxr-xr-x 2 user staff 68 Apr 24 11:21 2000-03-blablabla
drwxr-xr-x 2 user staff 68 Apr 24 11:21 2000-04-blablabla
drwxr-xr-x 2 user staff 68 Apr 24 11:21 2000-05-blablabla
drwxr-xr-x 2 user staff 68 Apr 24 11:21 2000-06-blablabla
drwxr-xr-x 2 user staff 68 Apr 24 11:21 2000-06-blablablb
drwxr-xr-x 2 user staff 68 Apr 24 11:21 2000-06-blablablc
[...]
cat dates
2000-03
2000-04
2000-05
[...]
予想される出力:そのフォルダに含まれるすべてのファイルが占有するディスク容量の合計YYYY-MM-random_dataと文字列を含むファイルの名前を含むディレクトリのフォルダ日付
2000-03: 1000
2000-04: 2123
2000-05: 1222112
[...]
====== ファイル内の文字列を名前含めますしかし、特に、私はなぜawkが$ 1の列を取得できないのか興味があります。
最小限の入力と正確な出力をお探しください。あなたの試みがどう失敗したかを述べるのではなく。 – Inian
@Inian詳細が追加されました。 – Rob013