我是脚本新手,我正在使用Cygwin尝试查找包含大型列表字符串的文件名。我需要获取文件名的输出列表或者只是将它们全部移动到中央目录(要么很好)。它必须能够检查几个目录级别(可能是maxdepth 3)。我一直这样做:
find ./incoming -type d \( -name "*012345*" -o -name "*678910*" -o -name "*111213*" \) > moved.txt
...除了它不理想,因为我正在使用的列表可以包含数千个字符串。我也试过这个:
xargs -a files_to_move.txt mv -t ./moved
...除了因为我不知道文件的全名,所以不成功。有什么想法吗?
答案 0 :(得分:1)
假设所有字符串都在list.txt
for i in $(cat list.txt); do find <your_dir> -name "*${i}*" ; done