Bash 使用AWK选择已修改的文件
我正在处理一项任务,AWK是指定的工具 任务是列出以下文件:Bash 使用AWK选择已修改的文件,bash,awk,file-find,Bash,Awk,File Find,我正在处理一项任务,AWK是指定的工具 任务是列出以下文件: 今天修改(脚本运行的当天) 大小为1MB或更小(大小使用stat,如下所示: for fm in $filemod; do size=$(stat --printf='%s\n' "$fm") if (( size <= 1048576)); then printf "%s\t%s\n" "$size" "$fm" fi done 用于$filemod;do中的fm 大小=$(stat--printf='
- 今天修改(脚本运行的当天)
- 大小为1MB或更小(大小使用
,如下所示:stat
for fm in $filemod; do size=$(stat --printf='%s\n' "$fm") if (( size <= 1048576)); then printf "%s\t%s\n" "$size" "$fm" fi done
用于$filemod;do中的fm 大小=$(stat--printf='%s\n'$fm”)
如果((size)您也可以使用
:-size
而IFS=read-r-d''n;do printf'%q\n'$n';完成<我感谢您的努力。虽然我相信您的解决方案做得更好,但AWK是此任务的先决条件。您好,我在明确搜索文件后得到了所需的结果:filemod=“$(find$target-type f-newermt$today)”为什么这很重要?
filemod="$(find $target -type f -newermt $today)"
for fm in $filemod; do size=$(stat --printf='%s\n' "$fm") if (( size <= 1048576)); then printf "%s\t%s\n" "$size" "$fm" fi done
while IFS= read -r -d '' file; do size=$(stat --printf='%s\n' "$file") if (( size <= 1048576)); then printf "%s\t%s\n" "$size" "$file" fi done < <(find $target -newermt $today -print0)