Concaténation de 2 lignes sur la même ligne via >>
Résolu/Fermé_Ritchi_ Messages postés 21209 Date d'inscription samedi 17 mars 2007 Statut Contributeur Dernière intervention 7 avril 2024 - 12 févr. 2023 à 11:19
- Concaténation de 2 lignes sur la même ligne via >>
- Aller à la ligne excel - Guide
- Site de vente en ligne particulier - Guide
- Hors ligne instagram - Guide
- Partage de photos en ligne - Guide
- En ligne sur messenger alors que non ✓ - Forum Facebook Messenger
1 réponse
11 févr. 2023 à 20:11
J'ai fini par opter pour ce que je pense ne pas être idéal.
Ci-dessous l'approche algorithmique réalisée :
boucle de parcours des dossiers à traiter (nb: s'assurer que ce sont bien des répertoires qui sont traités if [ -d $file ])
boucle de parcours du numéro de ligne à récupérer dans le fichier de prélèvement
boucle de parcours de chaque fichier à lire
si tout premier parcours de fichier dans un répertoire :
écrire directement dans le fichier de destination (permet la création du fichier)
se servir d'une variable 'balise' pour signaler qu'il ne s'agit plus de la première lecture
sinon
initialiser une variable correspondant à la dernière ligne du fichier de destination
lire la ligne à récupérer
supprimer la dernière ligne dans le fichier de destination : commande $(sed -i '$d' $fichierDeDestination)
avec -i : traite le fichier (n'est plus un simple filtre) ; $d == dernière ligne
ajouter la concaténation de la sauvegarde de l'ancienne dernière ligne avec la ligne à récupérer
commande echo "${derniereLigne} head -n ${numeroDeLigne} $fichierLu | tail -n 1" >> $fichierDeDestination
fin si
fin boucle
fin boucle
fin boucle
Si je n'ai rien oublié dans mes recopiages voici une méthode qui a au moins le mérite d'être fonctionnelle :
De la sorte nous obtenons un tableau de résultats, importable à souhait dans un tableur.
12 févr. 2023 à 11:19
Bonjour,
Merci pour ce retour sur la solution que tu as implémentée et testée.
L'emploi de "sed" ou "awk" est une bonne solution pour manipuler le contenu d'un fichier.
Ritchi