繁体   English   中英

将文件复制到多个文件夹Linux

[英]Copy a file to Multiple folders Linux

我在目录/ xyz中。 在/ xyz目录中,有多个按字母顺序存储及其名称的学生文件夹。 所以我有一个文件value.txt,我想复制到名称以A,B,C,D直到R开头的所有学生文件夹中。

例如,在/ xyz中,我具有以下目录:

/艾米

/布兰登

/查尔斯

/吉娜

/罗伯特·

/麦克风

/彼得

/百合

我想将value.txt复制到名称从A到R的所有文件夹中

/艾米

/布兰登

/查尔斯

/吉娜

/罗伯特·

谢谢任何帮助,将不胜感激。

for dirname in $(ls -d [a-r]*)
do
    cp value.txt ${dirname}/
done

您可以执行以下操作:

for s in [a-r]*; do cp file.text $s; done

另一方面,如果说您要排除的字母数会使脚本变得不那么复杂,则可以执行以下操作:

 [^YZ]*

该[^ YZ]模式将匹配Y或Z-bash手册中包含更多详细信息的任何字符。 阅读

将以下行复制到文件中:cpFile2Dirs.sh

#!/bin/bash
dList=`ls -d */`

for d in $dList;
do
    if [[ $d == [a-rA-R]* ]];
    then
        cp $1 $d
    fi

done

应该位于您当前正在使用的目录中。

然后执行

bash cpFile2Dirs.sh value.txt

这会将文件value.txt复制到以if语句定义的从a / A到r / R的所有目录。 您可以随意更改。

您还可以设置脚本的执行权限

chmod +x cpFile2Dirs.sh

那么您无需运行bash copyValues.sh value.txt ,而只需运行

./cpFile2Dirs.sh value.txt

希望能帮助到你。

暂无
暂无

声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM