请不要给我一个利用grep或ls或sed等其他命令的解决方案。
我想知道带有正则表达式的cp
是否可以执行此操作。
答案 0 :(得分:5)
cp(1)本身没有“正则表达式”支持;你所依赖的功能可能是Bash中的Pathname Expansion(globbing)。检查bash(1)联机帮助页以查找这样的extglob语法:
shopt -s extglob
cp !(abc*) destination/
答案 1 :(得分:3)
cp -t elsewhere [^a]* a[^b]* ab[^c]*
请注意:
bash
而不是cp
和abc*
答案 2 :(得分:0)
嗯,你没有禁止发现,所以你去了:
find . -maxdepth 1 -type f ! -name "abc*" -exec cp '{}' dest/ \;