我正在使用MACOS,并且想使用mv命令将所有* .csv文件从文件夹 / Users / abc / Downloads / 移至 / Users / abc / idea-workspace / tofolder / csvfiles 。 但是我需要排除任何包含“(”的文件名,例如“ filename(1).csv”。这些文件是重复的下载文件。因此,我不希望将它们移至/ tofolder / csvfiles。 我的问题是如何排除这些包含“(”的文件。 谢谢
我尝试使用“!()”排除这些文件,但不起作用。即使我以前使用过命令。
shopt -s extglob
mv -f /Users/abc/Downloads/*.csv /Users/abc/idea-workspace/tofolder/csvfiles
答案 0 :(得分:2)
演示一个有效的extglob :
mkdir -p "/tmp/$$" && cd "/tmp/$$"
touch {foo,bar}{'(1)',}.csv
shopt -s extglob
printf '%q\n' !(*[()]*).csv
...正确发射:
bar.csv
foo.csv
因为您没有显示无效的extglob,所以我们无法说明原因。