2015-09-05 88 views

回答

1

如果我正確地讀你的問題,使用此:

mv src/*[A-Z]* target/ 
+1

它無法正常工作。你的*也匹配小寫字母。所以只有小寫字母的文件也會被拾取。 – sickcat

+0

您是否在第一個'*'之前和之後輸入了命令_exactly verbatim_,並且在第二個*之前沒有空格? –

0

顯而易見的,但錯誤的解決方法是

mv src/*[A-Z]* dest 

然而,字母順序依賴於語言環境。因此[A-Z]可以包含小寫字母:

$> touch abc aBc 
$> export LC_ALL=C 
$> ls *[A-Z]* 
abc 
$> LC_ALL=en_US 
$> ls *[A-Z]* 
aBc abc 

所以一定要設置正確LC_ALL

export LC_ALL=C 
mv src/*[A-Z]* dest 

順便說一句:*[A-Z]*是由shell評估,而不是MV。因此,以下工作:

LC_ALL=C mv rc/*[A-Z]* dest ## does not work 
0

這個版本確保根源文件夾中唯一的 「文件」 被移動到目標目錄:

查找/源/ * [AZ] * 1 -maxdepth -type f -exec mv {}/target \;

相關問題