【发布时间】:2021-10-27 20:36:47
【问题描述】:
我在一个文件夹中有许多具有不同扩展名的文件(.txt、.ascii、.mat)。我想将它们移动到与文件名相同的目标文件夹。
例如:
我有像a.txt, a.ascii, b.txt, b.ascii, b.mat 这样的文件。
我想先以a 和b 的名称创建文件夹,然后我想将文件a.txt,a.ascii 移动到文件夹a 和b.txt,b.ascii,b.mat 到文件夹b。
我尝试了如下代码。但是我需要一种自动的方式来制作文件夹并将文件移动到它。
#!/bin/sh
mkdir a b
for file in $(<list.txt)
do
cp "$file" a
done
【问题讨论】:
-
list.txt中有什么内容? -
所有需要复制到目标文件夹的文件我保存为list.txt
-
为什么?是否有不应复制的文件?
-
是的,只有一个文件我不想复制
-
嗯,你试过
cp "${file}" "${file%%.*}"而不是cp "$file" a吗?
标签: bash shell for-loop while-loop