【发布时间】:2019-10-13 08:49:58
【问题描述】:
我想在 bash 中递归地复制所有具有特定扩展名的文件。
****编辑****
我已经编写了完整的脚本。我在 csv 文件中有名称列表,我正在遍历该列表中的每个名称,然后在其他地方创建一个具有相同名称的目录,然后在我的源目录中搜索具有该名称的目录,在其中以xlsx,tsv,html,gz 结尾的文件很少,我正在尝试将它们全部复制到新创建的目录中。
sample_list_filepath=/home/lists/papers
destination_path=/home/ds/samples
source_directories_path=/home/papers_final/new
cat $sample_list_filepath/sample_list.csv | while read line
do
echo $line
cd $source_directories_path/$line
cp -r *.{tsv,xlsx,html,gz} $source_directories_path/$line $destination_path
done
这可行,但它会复制那里的所有文件,不区分特定扩展名。
有什么问题?
【问题讨论】:
-
这是干什么用的?
$source_directories_path/$line -
“递归”是什么意思。仅当至少一个源参数是目录时,您的命令才会递归
-
我已经对其进行了编辑以使其更清晰