【发布时间】:2013-05-09 08:11:19
【问题描述】:
我正在尝试编写一个 bash 脚本,该脚本将允许我获取 Dir1 上的文件名,并在 find 命令中使用每个文件名作为我的搜索字符串,然后在 Dir2 上运行 find 命令。然后,将搜索结果输出到文本文件。
因此,例如,当它运行时:
获取 Dir1 中的文件:
- file1.txt
- file2.txt
- file3.txt
- file4.txt
在 Dir2 中查找名称为“file1”的所有文件
file1 作为“file1-extrafile.txt”存在于 Dir2 中
将结果写入文本文件
使用“file2”作为搜索字符串重复。
我该怎么做? diff 会帮助我吗? for 循环?
【问题讨论】:
-
这是未经测试的,但请尝试
for FILE in `find '/path/to/dir1'`; do find '/path/to/dir2' -name '*$FILE*' >> /path/to/result.txt; done -
你关心 Dir1 和 Dir2 的子目录吗?您想要包含还是忽略子目录?
-
您希望如何处理不同的扩展?你只关心 .txt 文件吗?或者你想忽略任何扩展?
-
你的代码是什么样的?
-
@EmilSit 子目录也必须搜索