我有一个命令行指令,可以将 100k 的 jpgs 移动到同一磁盘/卷/分区上的正确目录,而不使用 xargs。怪癖是 jpg 有空格和多个句点或点。例如:“古怪的 image.45 xyz.001 00.78.jpg”。另一个怪癖是古怪的模式是指一组,所以有几千张这样的jpg,在最终的jpg扩展之前插入了一组额外的数字:“wacky image.45 xyz.001 00.78.details_0_34748-836389.jpg。我不确定是谁为这台机器做出了设计决定,但不是我!无论如何,我有一些类似的东西:
for f in ./“wacky image.45 xyz.name.s.00.78”*; do
mv $f /path/to/destination/;
done
我不确定我错过了什么。
编辑:使用 MacOS 终端应用程序,它的行为在很大程度上类似于 BSD。
(注意引号)有同样的问题
他们都是全球性的。您需要“数百万”个文件是
或者如果你想要一些每个文件的逻辑
Arkadiusz Drabczyk 用上面的 "Put $f in double quotes: "$f"" 做对了。
使用它,我可以将 1M+ 文件移动到同一磁盘/卷/分区上的不同目录。我编辑了这个问题,但我也会把它放在这里。我正在使用 MacOS 10.14 和终端应用程序,它的行为在很大程度上类似于 BSD。无论好坏,Apple 不再允许在其操作系统上使用 32 位应用程序,因此每个 CLI 工具都是以 64 位编译的。也许这就是允许大型参数列表的原因?