【发布时间】:2024-01-05 12:43:01
【问题描述】:
abc 文件夹中存在不同的文件(每个文件的扩展名不同),我想根据该文件夹中存在的文件名创建文件夹并将这些文件移动到相应的文件夹中。
例如:
文件夹abc 有
2.0261fc5a.js.1
22b8a.0cb8dc71bas.map
318a.fa1253sdfde99265.js.map.1
s3ds.asdasg.asfgsf.afasdf.sd
具有唯一名称的文件。
我要创作
2.0261fc5a.js.1 文件夹并在该文件夹中移动 2.0261fc5a.js.1 文件
同样,所有文件都应该发生这种情况。
我做了一些研究并找到了这个解决方案。
tmp=`mktemp -d tmp_XXXXXX` || exit 1
for i in *
do
mv "$i" $tmp
done
mv $tmp/* .
rm -r $tmp
但这会产生错误
mv: cannot move 'tmp_RwK2xZ' to a subdirectory of itself, 'tmp_RwK2xZ/tmp_RwK2xZ'
你们能帮忙解决一下吗?
【问题讨论】:
-
简单地说,您不能将目录命名为与您打算放入其中的文件完全相同的名称。
-
嘿@l'L'l 你能详细说明一下吗
-
您正试图将目录
mktemp移动到其自身中。您实际上需要将类似名称的文件移动到目录中。