如果我处于名为 /usr/share/tcl8.3/encoding 的目录中,什么命令会复制所有以“cp”开头且包含偶数的文件(从以下列表中):
cp1250.enc cp1255.enc cp737.enc cp857.enc cp864.enc cp932.enc
cp1251.enc cp1256.enc cp775.enc cp860.enc cp865.enc cp936.enc
cp1252.enc cp1257.enc cp850.enc cp861.enc cp866.enc cp949.enc
cp1253.enc cp1258.enc cp852.enc cp862.enc cp869.enc cp950.enc
cp1254.enc cp437.enc cp855.enc cp863.enc cp874.enc
答案1
你尝试过这个吗?
cp cp*[24680].enc destination
答案2
尝试:cp cp*[02468]* /path/to/dest/
答案3
命令
find . -maxdepth 1 | grep -P "/cp\d*[02468]\.enc$" | xargs -I '{}' cp '{}' destination
怎么运行的
find . -maxdepth 1
非递归地 (-maxdepth 1
) 列出当前目录中的所有文件 (.
)grep -P "..."
匹配每一行正则表达式...
/
和\.enc
是字符串/
和.enc
。\d*
是任意数量的数字。[02468]
恰好是一个偶数。$
表示一行的结束。
xargs -I '{}' cp '{}' destination
执行命令cp '{}' destination
其中,
'{}'
由前一个命令传输过来的每一行替换。