2014-09-13 170 views
2

我有以下目錄如何將所有文件複製,除了一個文件和一個目錄到另一個目錄

  1. 導演答:
    • git的 - >這是一個目錄
    • 的.gitignore
    • 風向乙
    • DIR C
    • 風向Ë
    • 文件f
    • 文件克
    • 風向ħ

我想除了複製一切(git的,和的.gitignore風向B)到風向B.(DIR B是下風向A)

我曾嘗試以下

cp -r !(Dir B|.git|.gitignore) ~/Dir B 

可正常工作時在終端上運行,但給了我一個錯誤,當我從詹金斯程序中運行它窗口。

syntax error near unexpected token `(' 

請諮詢

+0

當您在終端上成功運行命令時,您正在使用哪個shell(bin,bash,...)?另外,你可以粘貼'ls -l/bin/sh'的輸出嗎? – Technext 2014-09-13 10:14:31

+0

您是否想將任何隱藏的文件/目錄也複製到'Dir B'中? – Technext 2014-09-13 12:39:33

+0

雖然與問題無關,但也有一些錯誤,因爲你的陳述是矛盾的。你提到'Dir B在Dir A下',但是在你的命令中,你已經使用了'〜/ Dir B'。我確定家裏不會是'/ home/Dir A'。 – Technext 2014-09-13 12:58:20

回答

2

試試這個命令 -

rsync -r --exclude='.*' --exclude='DirB' ./ DirB 
0

我在做,你假設想任何隱藏文件/目錄拷貝到目標文件夾,即,Dir B。如果是這樣,只需要使用下面的命令,並在相同的外殼使用它們如下圖所示的快照:

enter image description here

shopt -s extglob 
cp -r !(Dir B) 'Dir B' 
shopt -u extglob 

您不必明確指定git的 dir和.gitignore文件。另外,您可以根據需要/配置更改上述目標目錄('Dir B')。

相關問題