【发布时间】:2011-01-12 14:24:54
【问题描述】:
我尝试了以下命令:
cp src_folder/[!String]* dest_folder
但是,此命令将复制所有不以任何字符 'S'、't'、'r'、'i'、'n'、'g' 开头的文件,而不是复制那些不要以“字符串”开头。
【问题讨论】:
我尝试了以下命令:
cp src_folder/[!String]* dest_folder
但是,此命令将复制所有不以任何字符 'S'、't'、'r'、'i'、'n'、'g' 开头的文件,而不是复制那些不要以“字符串”开头。
【问题讨论】:
康拉德答案的变体,使用cp 选项-t 指定目标目录简化了最后一个命令。它创建一个cp 进程来复制所有文件。
ls src_folder | grep -v '^String' | xargs cp -t dest_folder
src_folder中的所有文件
String开头的
dest_dir
【讨论】:
在 bash 中:
shopt -s extglob
cp src_folder/!(String*) dest_folder
【讨论】:
ls src_folder | grep -v '^String' | xargs -J % -n1 cp % dest_folder
这会
src_folder中的所有文件
String 开头的内容(留下其余部分)cp 命令
-n1 表示分别为每个文件调用cp)% dest_folder 作为其参数,其中% 被实际文件名替换。【讨论】:
xargs(Debian 测试)没有-J 选项。你的意思是-I?
-I 做了其他事情。所有发行版在其 POSIX 工具上都有不同的开关,这很糟糕。 :-( 标准化太多了。
cp src_folder/!(String*) dest_folder
试试看 〜克里斯
【讨论】: