J’essaie de modifier un script ksh pour imprimer la ligne contenant l’expression “/ var / corefiles”. Je suis assez novice en matière de script, alors ça me gêne. Par exemple, si j’ai la ligne suivante dans un fichier
/dev/x /dev/x2 /var/corefiles yes
Et je l’utilise pour la boucle:
for $host in $(grep "var/corefiles" $VFSTAB_LOC); do echo $i done
Il produit:
/dev/x /dev/x2 /var/corefiles yes
Je suis un peu confus quant à savoir pourquoi il imprime seulement un morceau à la fois. Si quelqu’un a des explications / modifications, elles seraient les plus appréciées!
grep "var/corefiles" $VFSTAB_LOC
simplement grep "var/corefiles" $VFSTAB_LOC
(sans le for
ou echo
) fera exactement ce que vous voulez faire.
grep "var/corefiles" $VFSTAB_LOC | while read line; do echo "$line" done
ou dans les derniers temps
readarray mylines < grep "var/corefiles" $VFSTAB_LOC for line in "${mylines[@]}"; do echo "$line" done