J'ai essayé avec la commande suivante: Toutefois, cette commande copiera tous les fichiers qui ne commencent par aucun des caractères ',' T '"," ',' I ',' n ',' g 'au lieu de copier des fichiers qui ne commencent pas avec "string". p> p>
4 Réponses :
ls src_folder | grep -v '^String' | xargs -J % -n1 cp % dest_folder This will list all files in src_folder filter out all those that start with String (so that the rest remains) Invoke the cp command once for each of those files (-n1 says to call cp for each of them separately) using, as its arguments, % dest_folder, where % is replaced by the actual file name.
Mon Xargs code> (test Debian) n'a pas d'option
-j code>. Voulez-vous dire
-i code>?
@MaxElt: J'utilise la version BSD de OS X. Option -i code> quelque chose d'autre. Il naît que toutes les distributions ont des commutateurs différents sur leurs outils POSIX. :-( Voilà pour la normalisation.
cp src_folder/!(String*) dest_folder Try that ~ Chris
Je reçois un message d'erreur: Erreur de syntaxe près de jeton inattendu `('
Pour une raison quelconque que l'on travaille pour moi. Essayez la commande que Ignacio posté (ajustée dans ma réponse ci-dessus - vous n'avez pas besoin du shopt -s extglob)
in Bash:
@JOEL: Permet un globbing prolongé dans Bash.
une variation de la réponse konrad, en utilisant cp code> option
-t code> pour spécifier le répertoire cible simplifie la dernière commande. Il crée un seul processus
cp code> pour copier tous les fichiers.
ls src_folder | grep -v '^String' | xargs cp -t dest_folder
SRC_Folder CODE> LI>
String CODE> LI>
DEST_DIR CODE> LI>
ul> p>
Question similaire ici: Stackoverflow.com/Questtions/216995