我在文本文件中得到一个包含文件名的文件(FILEMANES.txt)。每行包含一个或多个由#。
分隔的文件名#filename1#
#filename2#filename3#filename4#
#filename5#filename6#
....
在for循环中浏览目录内容,我需要比较目录中找到的每个文件名和每个找到的filenameX FILEMANES.txt
我想我可以用sed和/或awk来做,但我想念一些技能
如果有人可以提供帮助,那就太棒了
感谢的
答案 0 :(得分:1)
将每个文件与每个名称进行比较会非常慢。让工具完成一些工作:
for file in * ; do
grep -o "#$file#" FILENAMES.txt
done
或者,没有循环:
ls | sed 's/^\|$/#/g'| grep -oFf- FILENAMES.txt
请注意,如果文件名包含空格和其他特殊字符,则解决方案会更复杂。