$ cat testfile
first line mark apple
second line not banana
third line mark pear
Je veux faire une boucle pour chaque ligne du fichier. S'il contient mark
alors montrer la ligne entière sans perdre de place.Comment echo variable sans perdre de place dans une boucle for?
mais si mon code comme ci-dessous, il transforme l'espace en retour:
for i in `cat testfile | grep mark`; do
echo $i
done
sortie est
first
line
mark
apple
third
line
mark
pear
si l'utilisation printf
for i in `cat testfile | grep mark`; do
printf $i
done
sortie est
firstlinemarkapplethirdlinemarkpear
comment puis-je obtenir la sortie comme ci-dessous:
first line mark apple
third line mark pear
marque grep toto – xxfelixxx
J'étais sur le point de suggérer 'pour i dans "$ (marque grep toto)"; fais écho "$ i"; done', mais il met 'I' $ à la totalité de la production de plusieurs lignes de la commande' grep' plutôt que itérer par des lignes. –