【发布时间】:2018-05-26 01:13:12
【问题描述】:
我正在编写一小段代码,用于检查特定文件夹中超过 4gb 的 .mov 文件,并按名称(不带扩展名)将其写入 log.txt 文件。然后,我将名称逐行读取到 while 循环中,这表明一些归档和复制命令。
考虑一个名为 abcdefg.mov(新)的文件和一个名为 abcdefg_20180525(
从 log.txt 中读取文件名时,我剥离扩展名以存储变量“abcdefg”($in1),并使用该变量在其他位置找到 包含的文件夹开头的匹配字符串。
我的问题是 mv 命令似乎支持“源”字符串中的通配符,但不支持“目标”字符串。
比如我会写;
mv -f /Volumes/Myshare/SourceVideo/$in1*/$in1.mov /Volumes/Myshare/Archive
但是,目标上的通配符不能以相同的方式工作。例如;
mv -f /Volumes/Myshare/Processed/$in1.mov Volumes/Myshare/SourceVideo/$in1*/$in1.mov
这里有不涉及使用其他方法的简单修复吗?
为任何帮助干杯。
【问题讨论】:
-
目的地中的通配符将是真正的掷骰子。你怎么能确定文件会在哪里结束?
-
是的,我可以看到在某些情况下会出现问题,但我知道在我的情况下,基本名称总是唯一的,不可能 100% 匹配。它只是一个临时位置,因此一次只有 35-50 个文件夹......