- 创建50个名称从
1
到50
的文件。- 创建五个文件夹(
0
,10
,20
,30
,40
)。- 根据文件名将这50个文件复制到文件夹中(例如,文件
醇>21
将转到文件夹20
)。
我创建了这些文件和文件夹,但不知道如何将特定文件移动到特定文件夹。我试着写
cp {1..9} /home/user/folder
但这是不可接受的。是否可以使用if
和elif
?
答案 0 :(得分:1)
cp {1..9} /home/user/folder
这将起作用,除非您应指定要复制到的正确文件夹。也许你的意思是其中之一?
cp {1..9} /home/user/folder/0
cp {1..9} 0
另一种方法是使用通配符。 *
匹配任何字符串,?
匹配任何一个字符。例如,2?
将匹配文件名20
到29
。
答案 1 :(得分:0)
如果您不介意使用for
循环代替if
和else
,则可以使用以下代码:
#1
touch file{1..50}
#2
mkdir dir{0..40..10}
#3
for i in {1..4}; do
cp file${i}* dir${i}
done
cp file* dir0 # note that this will copy file50 into dir0