cp 命令查询

cp 命令查询

如果我处于名为 /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
    

    其中,'{}'由前一个命令传输过来的每一行替换。

相关内容