Awk 查找文件详细信息并包括M5SUM/SHA1SUM

Awk 查找文件详细信息并包括M5SUM/SHA1SUM,awk,Awk,免责声明:我是awk的新手 问题:如何对find命令的输出进行排序并添加md5sum——全部使用awk 我的尝试: find $1 -type f -print0 | xargs -0 stat --format '%Y :%y %n' | sort -nr | awk 'BEGIN { ORS=" "} {print $1,$2,$3,$4} {system("md5sum $4")} ' 问题:相同的md5sum 2015-12-21 12:41:54.000000000 -0600 ./

免责声明:我是awk的新手

问题:如何对find命令的输出进行排序并添加md5sum——全部使用awk

我的尝试:

find $1 -type f -print0 | xargs -0 stat --format '%Y :%y %n' | sort -nr | awk 'BEGIN { ORS=" "} {print $1,$2,$3,$4} {system("md5sum $4")} '
问题:相同的md5sum

2015-12-21 12:41:54.000000000 -0600 ./gsk8capicmd_64 d41d8cd98f00b204e9800998ecf8427e  -
2015-12-21 12:41:53.000000000 -0600 ./gsk8ver d41d8cd98f00b204e9800998ecf8427e  -
2015-12-21 12:41:52.000000000 -0600 ./gsk8ver_64 d41d8cd98f00b204e9800998ecf8427e  -
2015-12-21 12:41:52.000000000 -0600 ./gsk8capicmd d41d8cd98f00b204e9800998ecf8427e  -

我假设您尝试执行的文件名部分包含管道输出的
$5
,只需单独使用
Awk
部分即可

awk '{ cmd = "md5sum "$5; while ( ( cmd | getline md5result ) > 0 ) { print  $1,$2,$3,$4,md5result } ; close(cmd)} '

您能否单独发布
find$1-type f-print0 | xargs-0 stat--格式“%Y:%Y%n”| sort-nr
的输出?示例的几行?文件是第5列还是第4列的一部分?我没有意识到我可以只使用md5sum而不显式地提及该列,因此有效的命令是:find$1-type f-print0 | xargs-0 stat——format'%Y:%Y%n'| sort-nr | cut-d:-f2-| awk'BEGIN or=“”{print$1,$2,$3}{system(“md5sum”$4)}