J'ai cherché une réponse concernant des commandes affectées à des variables dans shell mais sans succès. Mon script recherche un dossier nommé 2015may
qui a un fichier 4444444.xml
. La commande find /path/zipfolders -name "*${array[$((i+1))]}*" -exec grep -l "${array[$i]}" {} +
affiche la sortie suivante à l'aide de ces paramètres ["2015may"
, "44444444"
]: path/filename_2015may.zip
. Le problème est que cette commande renvoie ''
en l'assignant à $command
. Je pense que j'ai une erreur de syntaxe en l'assignant à $command
. J'apprécierai votre aide pour résoudre ce problème.Affectation d'une commande à une variable contenant des chemins de fichier
Script
command=$(find /path/zipfolders -name "*${array[$((i+1))]}*" -exec grep -l "${array[$i]}" {} +)
echo "$command"
sortie réelle
find /path/zipfolders -name "*${array[$((i+1))]}*" -exec grep -l "${array[$i]}" {} +
++ find /path/zipfolders -name '*2015may*' -exec grep -l 44444444 '{}' +
+ command=
+ echo ''
de sortie désiré
path/filename_2015may.zip
Vous n'avez pas besoin de 'zgrep' pour chercher dans les fichiers' zip'. – anubhava