【发布时间】:2020-12-20 11:55:48
【问题描述】:
我想复制一个名为 files2folder 的 Windows 程序的功能,它基本上可以让您右键单击一堆文件并将它们发送到它们自己的单独文件夹。
所以
1.mkv 2.png 3.doc
被放入名为
的目录中1 2 3
我已经使用这个脚本让它工作了,但它有时会抛出错误,同时仍然完成我想要的操作
#!/bin/bash
ls > list.txt
sed -i '/list.txt/d' ./list.txt
sed 's/.$//;s/.$//;s/.$//;s/.$//' ./list.txt > list2.txt
for i in $(cat list2.txt); do
mkdir $i
mv $i.* ./$i
done
rm *.txt
有没有更好的方法来做到这一点?谢谢
编辑:我的脚本因真实世界的文件名而失败,因为它们包含多个 .所以我不得不使用不同的 sed 命令使其工作。这是我正在使用的示例文件名
Captain.America.The.First.Avenger.2011.INTERNAL.2160p.UHD.BluRay.X265-IAMABLE
【问题讨论】:
-
您“有时”会遇到什么错误?哦,我猜是
.和..目录。 -
mv: cannot stat 'foo.*': 没有这样的文件或目录,但检查目录的内容显示一切正常
-
不是很清楚你想要什么。一个名为
simon的文件去哪里了?那一个叫abc-7.txt呢?345-678.doc呢?