我正在使用macOS Sierra。目录中包含的Mv文件到目录/新路径
我有1000多个包含大量文件的目录。 Word,Excel和压缩文件。只有一个子级别。重要提示:文件名和文件夹名称中有空格。
我们决定改变文件的树状结构;在与另一个目录树合并之前,需要将每个目录中的所有文件移动到名为“Word & Excel”的子目录中。
我设法创建Word的Excel &目录用这个命令:
for dir in */; do mkdir -- "$dir/Word & Excel"; done
基本上,我只想做
for dir in */; do mv $dir/* "./Word & Excel"; done
这是行不通的。我甚至不明白,如果问题是与$迪尔 - 我需要双引号,以避免空间问题,但星号是不会工作,如果我使用双引号......或用星号。
我试图根据网站上发现了类似的问题前面的回答,清理结果的子文件夹(并试图基本上避免我的通配符的问题),以获得更清洁的版本:
for dir in */; do mv `ls -A "$dir" | grep -v "Word & Excel"` ./"Word & Excel" | cd ../ ; done
我我完全卡住了。
任何想法如何处理?
非常感谢。像魅力一样工作。顺便说一句,我不幸是老板。我在7年前开始业务时没有注意到这个问题......我不会两次犯同样的错误。祝你有个美好的一天 – dacasine
@dacasine好的,很好,因为你是老板,我可以建议你选择'WordAndExcel'而不是'Word&Excel'吗?没有空格,没有'&'(在CLI中有特殊含义的另一个特殊字符)。我发誓,你会在某天或那天感谢这一决定。 –
你说得对。我会肯定地改变它。我们认为它是用户友好的,但我们忘记了,有时候,CLI是处理大量文件列表的最好的朋友。 – dacasine