#1 Le 04/03/2016, à 17:32
- chafer
concatener des fichiers en ajoutant des commentaires
Je voudrais concatener des fichiers mais ajouter des commentaires au debut de chaque fichiers comme suit:
fichier 1:
hello
word
fichier 2:
Bonjour
Tout le monde
fichier 3:
Salut
Bonsoir
je voudrais avoir comme resultat final:
premierement
hello
word
Deuxiemement:
Bonjour
Tout le monde
Troisiememnt
Salut
Bonsoir
Quelqu'un aurait une idee?
Hors ligne
#2 Le 04/03/2016, à 18:02
- pingouinux
Re : concatener des fichiers en ajoutant des commentaires
Bonjour,
Tu peux faire ceci
$ cat liste_commentaires
fichier_1 premierement
fichier_2 Deuxiemement:
fichier_3 Troisiememnt
while read fichier commentaire
do
echo "$commentaire"
cat "$fichier"
echo
done <liste_commentaires >fichier_resultat
$ cat fichier_resultat
premierement
hello
word
Deuxiemement:
Bonjour
Tout le monde
Troisiememnt
Salut
Bonsoir
Ajouté : Avec cette façon de faire, il peut y avoir des espaces dans les commentaires, mais pas dans les noms de fichiers
Dernière modification par pingouinux (Le 04/03/2016, à 18:04)
Hors ligne
#3 Le 04/03/2016, à 18:08
- kholo
Re : concatener des fichiers en ajoutant des commentaires
bonjour,
avec des espaces dans les noms de fichiers façon bourrin :
#!/bin/bash
# ----------------------------------------------
nomLogiciel="$(basename "$0")"
FONCTION="concaténation de fichiers sous certaines conditions"
# je part du principe que
# "fichier x:" (x= 1, 2, 3 )ne fait pas parti du fichier
# que les fichiers se nomment respectivement
# fichier 1, fichier 2, fichier 3
# (pas de probleme avec les espaces,
# possible d'avoir des extensions)
#
nomFichier[1]="fichier 1" ;
nomFichier[2]="fichier 2" ;
nomFichier[3]="fichier 3" ;
nouveauFichier="fichierSorti" ;
echo "premierement" > "$nouveauFichier" ;
cat "${nomFichier[1]}" >> "$nouveauFichier" ;
echo "
Deuxiemement" >> "$nouveauFichier" ;
cat "${nomFichier[2]}" >> "$nouveauFichier" ;
echo "
Troisiememnt" >> "$nouveauFichier" ;
cat "${nomFichier[3]}" >> "$nouveauFichier" ;
exit
A mettre dans un fichier et le rendre exécutable bien sûr
les fichiers d'entrés et de sortis sont dans le même dossier
Hors ligne