AWKが指定されたツールの作業を進めています。AWKを使用して変更されたファイルを選択
タスクがあるファイルを一覧表示することです:サイズ1MB以下(サイズ< = 1048576バイト)
- 検索を開始する場所を指示することです。
- ファイルを再帰的に検索します。
スクリプト:
#!/bin/bash
#User's input target for search of files.
target="$1"
#Absolute path of target.
ap="$(realpath $target)"
echo "Start search in: $ap/*"
#Today's date (yyyy-mm-dd).
today="$(date '+%x')"
#File(s) modified today.
filemod="$(find $target -newermt $today)"
#Loop through files modified today.
for fm in $filemod
do
#Print name and size of file if no larger than 1 MiB.
ls -l $fm | awk '{if($5<=1048576) print $5"\t"$9}'
done
私の問題は、forループファイルのサイズを気にしないということです!
すべての変数は、意図した値になります。 AWKはfor-loopの外で行うべきことをします。私は無駄な引用符を試しました。
誰かが間違っていると言うことができますか?
フィードバックに感謝します。ありがとうございます。
アップデート:私は、ファイルに対して明示的に検索して、それを解決してきました :
filemod="$(find $target -type f -newermt $today)"
事項ことを来るどのように?
こんにちは、私は明示的にファイルを検索した後、望ましい結果を持っている:filemodを= "$(今日は$ target-type f -newermt $を見つけてください)" どのように重要ですか? – henrix