我正在尝试浏览多个文件夹并检查其内容。如果其中一个或多个文件与给定列表中的任何字符串匹配,我想将这些文件移动到新文件夹。我已经有新文件夹了。
答案1
#!/bin/bash
find /path/to/sourcedir -type f | grep "string1\|string2\|string3" | while read f
do
mv "$f" /path/to/destination
done
如果您有许多字符串,您可以跳过 "string1\|string2\|string3"
并使用 grep --file=file_of_patterns.txt
包含file_of_patterns.txt
要匹配的字符串的文本文件(每行一个)