Comment append une variable dans une command grep

Je gère la command grep suivante

var=`grep -n "keyword" /var/www/test/testfile.txt` 

Ce travail est comme prévu, mais j'ai besoin d'insert le nom du file de manière dynamic comme suit:

 var=`grep -n "keyword" /var/www/test/`basename ${hd[$i]}`.txt` 

Mais évidemment, l'utilisation de `freine ceci avec un EOF inattendu tout en recherchant la correspondance` `'et la fin de file inattendue

Des idées divergentes autour de cela?

2 Solutions collect form web for “Comment append une variable dans une command grep”

N'utilisez pas `, et utilisez une fonction :

 mygrep() { grep -n "yourkeyword" "/var/www/test/${1##*/}.txt"; } for (( i= 0; i < ${#hd[@]}; i++ )); do yourvar=$(mygrep "${hd[$i]}"); done 

Vous pouvez aussi utiliser:

 var=$(grep -n "keyword" "/var/www/test/$(basename "${hd[$i]}").txt") 

(observez les quotings, et, comme adapté mentionné, n'utilisez pas de backticks, mais $(...) place, car il est nestable).

  • Puis-je changer la propriété de tous les files d'un user spécifique?
  • rsh pour Windows 7
  • nl command + number chaque ligne dans un file text uniquement à partir de la troisième ligne
  • Comment nettoyer automatiquement les journaux estampillés
  • Supprimer l'expansion de * en écho
  • Utilisation du script de assembly NFS avec grand-père père-fils, mais ne reçoit que 6 sauvegardes quotidiennes. Je devrais également avoir 4 sauvegardes hebdomadaires et 2 fois par mois
  • Exécution de ssh-agent à partir d'un script shell
  • Exécuter le script racine sur ssh'ing comme un utilisateur particulier, mais pas sur une connexion standard
  • variable de variable variable ne stockant pas le file intérieur
  • scp collé lors de la tentative de copyr des files de Linux vers Windows
  • Dans zsh, comment redirect stderr vers / dev / null dans une boucle for ou foreach?
  • Les astuces du serveur de linux et windows, tels que ubuntu, centos, apache, nginx, debian et des sujets de rĂ©seau.