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
    

    其中'{}'被前一個命令通過管道傳輸的每一行替換。

相關內容