Awk 从字符串中间剪切路径,保留md5sum和文件名不变

Awk 从字符串中间剪切路径,保留md5sum和文件名不变,awk,cut,Awk,Cut,我在不同的文件服务器中生成了数千个相同文件的MD5总和,我希望确定是否有任何文件被损坏(它们被损坏)以及哪些文件被损坏。通过比较md5散列并过滤掉不同的散列,我可以使一个不可能完成的任务更易于管理 每个服务器的每个列表中的路径都不同,md5sums和文件名基本相同 在下面的示例中,如何从中间删除路径,使其仅显示哈希值,然后显示文件名,例如 我现在有什么 8937EBE2A584584589063CD3F0D1536186A c:\test1\Homeland.S03E02.HDTV.x264 A

我在不同的文件服务器中生成了数千个相同文件的MD5总和,我希望确定是否有任何文件被损坏(它们被损坏)以及哪些文件被损坏。通过比较md5散列并过滤掉不同的散列,我可以使一个不可能完成的任务更易于管理

每个服务器的每个列表中的路径都不同,md5sums和文件名基本相同

在下面的示例中,如何从中间删除路径,使其仅显示哈希值,然后显示文件名,例如

我现在有什么 8937EBE2A584584589063CD3F0D1536186A c:\test1\Homeland.S03E02.HDTV.x264 ASAP\Homeland.S03E02.HDTV.x264-ASAP.rar

我想要什么 8937EBE2A5845889063CD3F0D1536186A homeland.s03e02.hdtv.x264-asap.rar

我想我应该可以用cut来做,但还没有弄明白。如果您能帮上忙,我们将不胜感激

谢谢你的关注
Matt

也许我可以使用最后一个“\”作为第一个除虫器,然后继续向后删除字符,直到最后一个“\”+2个字符以去除c:?还有
awk'{gsub(/.\\\/,”,$2);print$1,$2}'
。谢谢Ed,我今晚会尝试一下,但它看起来正是我想要的!是的,这是我想要的,并给了我一些其他事情的合作,谢谢!如果它是您要查找的答案,请记住单击它旁边的复选标记。
$ cat file
8937ebe2a584589063cd3f0d1536186a c:\test1\Homeland.S03E02.HDTV.x264-ASAP\homeland.s03e02.hdtv.x264-asap.rar

$ sed 's/\([^ ]*\).*\\/\1 /' file
8937ebe2a584589063cd3f0d1536186a homeland.s03e02.hdtv.x264-asap.rar

$ awk -F'[ \\\\]' '{print $1, $NF}' file
8937ebe2a584589063cd3f0d1536186a homeland.s03e02.hdtv.x264-asap.rar