1. Sous Linux (plus exactement sous Unix, et je croise les doigts pour que ce qu'on me dit ici fonctionne), j'aimerais parcourir progressivement deux fichiers en lecture simultanée. Commencer en lisant la première ligne de chaque fichier, et en fonction, passer à la seconde ligne d'un fichier ou de l'autre. Pour faire simple, imaginons que je passe à la ligne suivante du fichier qui a la ligne la plus courte (le moins de caractères dans la ligne, calculé avec wc -c). Comment devrais-je écrire cela svp...? Je connais la boucle while pour lire un fichier ligne par ligne (while read line do ... done < $file) mais cela ne m'aidera pas ici.
2. Etant donné un fichier de N lignes, quelle serait la méthode la plus simple pour obtenir le même fichier privé de la première et de la dernière ligne ? J'ai pensé à compter le nombre de lignes avec wc, puis à faire un head N-1, puis un tail N-2 du résultat précédent. Mais il doit y avoir plus simple / élégant ?
Salut, merci pour la réponse. (Et mince, je vais devoir lire le manuel de sed T__T)
Concernant 1, on est obligé de sortir de la boucle while avec un break du coup, non ? Comment savoir quand on a atteint la fin d'un fichier de manière simple ? Avec un compteur qu'on incrémente à chaque ligne jusqu'à atteindre le nombre total de lignes donné par la commande wc ?
Concernant 1, on est obligé de sortir de la boucle while avec un break du coup, non ?
oui, je me suis trompé de ligne dans mon copier-coller.
while read -u 5 var1; do read -u 6 var2; echo "var1: $var1; var2: $var2"; done 5<fic1 6<fic2
la boucle se termine quand fic1 est lu en totalité.
Comment savoir quand on a atteint la fin d'un fichier de manière simple ? Avec un compteur qu'on incrémente à chaque ligne jusqu'à atteindre le nombre total de lignes donné par la commande wc ?
(trop) compliqué
par contre, on peut utiliser wc pour savoir si les fichiers ont le même nombre de lignes pour "ordonner" leur traitement (quel fichier rediriger vers le descripteur de fichier le plus petit).
Validez la réponse utile « Un problème clairement exposé est à moitié résolu. » Pas de MP technique
Lecture simultanée de deux fichiers
× Après avoir cliqué sur "Répondre" vous serez invité à vous connecter pour que votre message soit publié.
× Attention, ce sujet est très ancien. Le déterrer n'est pas forcément approprié. Nous te conseillons de créer un nouveau sujet pour poser ta question.
Validez la réponse utile « Un problème clairement exposé est à moitié résolu. » Pas de MP technique
Validez la réponse utile « Un problème clairement exposé est à moitié résolu. » Pas de MP technique