Modification d'un fichier en cours de lecture
Bonjour,
Peut-on modifier un fichier parcouru par une boucle for en Bash ?
J'ai un fichier qui contient les bornes et la tailles de plusieurs axes qui peuvent être chevauchant. Exemple :
Si on a ces 2 axes :
10 _____ 22
10 ___________ 30
le fichier (tabulé) sera défini de la sorte :
En parcourant le fichier, je supprime l'axes le plus court s'il y en a un de plus grande taille qui a la même origine.
Code:
1 2 3 4 5 6
| for i in `awk '{print $1}' file1` `awk '{print $2}'` file1
do
# traitement, recherche des doublons
grep -v "$line_to_remove" file1 > file2
mv file2 file1
done |
Ça fonctionne sans problème mais j'aimerais savoir si c'était propre de procéder de la sorte car dans certains langage (ex : Python) cela provoquerait une erreur.
Merci
un coup a l'endroit, un coup a l'envers
Code:
sort -nr toto.txt |awk ' $1 != D { print ; D = $1 }' | sort -nk2 | awk ' $2 != F { print ; F = $2 }'
D pour Debut ( start ) et F pour ...
Edit: /!\ le cas totalement inclus (25 31 5 ) fait une ligne distincte
Edit2: il manquait le k2 pour des jeux de test plus variés