Bonjour,
Oui, si tu modifies un fichier pendant qu'il est parcouru, tu es dans un cas indéterminé.
Par contre, dans ton exemple, tu n'es pas dans ce cas là:
La liste pour le for est déterminée avant d' exécuter celle-ci (c'est la raison pour laquelle on lui préfère while) .
Et lorsque tu supprimes les lignes depuis le grep, tu passes par un fichier intermédiaire.
Sinon, je suis étonné que ta boucle fonctionne:
sur la ligne:
for i in `awk '{print $1}' file1` `awk '{print $2}'` file1
le backquote de fin devrait être après file1
De plus, la liste fournie au for serait dans l'ordre tout les arguments 1 du fichier file1 puis tous les arguments 2 du fichier file1.
Cordialement.
Partager