Linux 是否有grep命令允许我对多个文件夹进行grep,并使用包含文件名的文本文件进行复制

Linux 是否有grep命令允许我对多个文件夹进行grep,并使用包含文件名的文本文件进行复制,linux,bash,unix,Linux,Bash,Unix,因此,我有一个包含约1000个文件夹名称的文本文件,以及一个包含约30000个文件夹的目录。我需要做的是找到一个bash命令,该命令将读取文件夹名称的文本文件,并从目录中grep这些文件夹,并将它们复制到新的目标。这有可能吗 我不熟悉编码,如果措辞不好,我深表歉意。您可以使用像这样的bash脚本: fileList=$(cat nameFIle) srcDir="/home/ex/src" destDir="/home/ex/dest" for name in fileList do c

因此,我有一个包含约1000个文件夹名称的文本文件,以及一个包含约30000个文件夹的目录。我需要做的是找到一个bash命令,该命令将读取文件夹名称的文本文件,并从目录中grep这些文件夹,并将它们复制到新的目标。这有可能吗


我不熟悉编码,如果措辞不好,我深表歉意。

您可以使用像这样的bash脚本:

fileList=$(cat nameFIle)
srcDir="/home/ex/src"
destDir="/home/ex/dest"

for name in fileList 
do
  cp -r "${srcDir}/${name}" "${destDir}"/
done

绝对有可能——而且你甚至不需要grep。假设文本文件每行有一个文件

cp -r `cat filenames.txt` path_to_copy_location/
我会写:

xargs cp -t /destination/directory < file.of.dirnames 
xargs cp-t/destination/directory
你说的grep这些文件夹是什么意思?对不起,可能还不清楚。我需要抓取其名称与文本文件中的名称列表匹配的文件夹,并将其复制到新位置。所以,我的“grep”我的意思是,我只是想把它们集中起来,以便能够被复制到某个地方,请给出一个简短的示例,说明文件内容的样子。它包含绝对路径还是相对路径?我试图复制的文件的内容还是文本文件列表?我也很抱歉,但我不确定你所说的绝对与相对路径是什么意思。谢谢你的建议!尝试此操作时,在路径\到\复制\位置/之后缺少目标文件操作数。我错过什么了吗?嗨,谢谢你的建议!我得到'cp cannot stat'filenamefromlist\r':没有这样的文件或目录'。我做错什么了吗?文件名后面有一个\r吗?很可能是您的文本编辑器造成的。更改其设置以将文件另存为“unix”文件。使用
dos2unix
修复脚本文件和包含文件夹名称的文件的行尾。我将文本文件保存为unix文件,但对于dos2unix,我是否将其作为您建议的命令的一部分使用?