我有一个单行 find 命令,它递归地检查并打印出在特定时间范围内创建的特定文件类型的大小、所有者和名称。但在结果中,给出文件名列,直到目录或文件名中的第一个空格字符为止。
有没有办法在这个单一命令中解决这个问题,而无需在 bash 中编写任何循环?谢谢!
这是命令:
find /path/to/dist -type f -iname "*.png" -newermt 2015-01-01 ! -newermt 2016-12-31 -ls | sort -k5 | sort -k5 | awk '{print $5"\t"$7"\t"$11}'
尝试改变你的awk
命令:
awk '{$1=$2=$3=$4=$6=$8=$9=$10="" ; print$11}'
这样整个命令就变成了这样:
find /path/to/dist -type f -iname "*.png" -newermt 2015-01-01 ! -newermt 2016-12-31 -ls | sort -k5 | awk '{$1=$2=$3=$4=$6=$8=$9=$10="" ; print$0}'
这会在行的开头留下一些额外的空格,希望它能满足您的目的。
我已经删除了第二个实例sort
,因为它与第一个键排序相同,这似乎不太可能做任何事情。
本文内容由网友自发贡献,版权归原作者所有,本站不承担相应法律责任。如您发现有涉嫌抄袭侵权的内容,请联系:hwhale#tublm.com(使用前将#替换为@)