我在目录/ xyz中。在这个/ xyz目录中,有多个学生文件夹按字母顺序存储在其名称中。 所以我有一个文件value.txt,我想复制到所有名字以A,B,C,D uptil R开头的学生文件夹。
例如,在/ xyz中我有以下目录:
/艾米
/布兰登
/查尔斯
/吉娜
/罗伯特
/麦克
/彼得
/百合
我想将value.txt复制到名称从A到R的所有文件夹中
/艾米
/布兰登
/查尔斯
/吉娜
/罗伯特
由于 任何帮助将不胜感激。
答案 0 :(得分:2)
for dirname in $(ls -d [a-r]*)
do
cp value.txt ${dirname}/
done
答案 1 :(得分:2)
您可以执行以下操作:
for s in [a-r]*; do cp file.text $s; done
答案 2 :(得分:0)
答案 3 :(得分:0)
将以下行复制到文件中,例如: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复制到以/ A开头到r / R的所有目录,如if语句中所定义。你可以随意改变它。
您还可以为脚本设置执行权限
chmod +x cpFile2Dirs.sh
然后您不需要运行bash copyValues.sh value.txt
,而只需
./cpFile2Dirs.sh value.txt
希望它有所帮助。