Faire un 3eme fichier grace a 2 en les concatenant ( script)
Résolu
Bonjour J'ai 2 fichier.txt : quay.txt & registry.txt
_quay.txt qui ressemble a : quay.image.stade : .... : .......
_registry.txt qui ressemble a : registry.image.stade: ........ : .......
J'aimerais regrouper la 1er ligne de quay.txt avec la 1er ligne de registry.txt
Dans un fichier gitlab.txt (sur une même ligne si possible du style <image de quay:1> <image de registry :1> )
_la 2eme ligne de chaque fichier dans gitlab.txt ( si possible en 2eme ligne de gitlab.txt <image de quay:2> <image de registry:2> )
Et ainsi de suite ...
Bien sûr aucune image est numéroté c'était juste pour l'exemple !
Je suis débutant en linux et sa sera mon 1er script :
Pouvez-vous m'aider svp ?
La seule chose que j'arrive a faire c'est de récupérer la 1er ligne de chaque fichier avec :
Je sais c'est pas grand chose ;)
Merci d'avance pour votre aide.
_quay.txt qui ressemble a : quay.image.stade : .... : .......
_registry.txt qui ressemble a : registry.image.stade: ........ : .......
J'aimerais regrouper la 1er ligne de quay.txt avec la 1er ligne de registry.txt
Dans un fichier gitlab.txt (sur une même ligne si possible du style <image de quay:1> <image de registry :1> )
_la 2eme ligne de chaque fichier dans gitlab.txt ( si possible en 2eme ligne de gitlab.txt <image de quay:2> <image de registry:2> )
Et ainsi de suite ...
Bien sûr aucune image est numéroté c'était juste pour l'exemple !
Je suis débutant en linux et sa sera mon 1er script :
Pouvez-vous m'aider svp ?
La seule chose que j'arrive a faire c'est de récupérer la 1er ligne de chaque fichier avec :
head -n 1 quay.txt >> gitlab.txt
head -n 1 registry.txt >> gitlab.txt
Je sais c'est pas grand chose ;)
Merci d'avance pour votre aide.
A voir également:
- Faire un 3eme fichier grace a 2 en les concatenant ( script)
- Fichier bin - Guide
- Comment réduire la taille d'un fichier - Guide
- Comment ouvrir un fichier epub ? - Guide
- Fichier rar - Guide
- Fichier .dat - Guide
1 réponse
Bonjour,
Ce serait plus simple si tu expliquais ce que tu veux faire avec un exemple. Notamment, le contenu des deux fichiers d'entrée n'est pas clair, ni le résultat que tu veux obtenir.
Si j'ai bien compris tu veux lire deux fichiers ligne par ligne et écrire côte à côte les lignes de chaque fichier. Si c'est le cas, que dois-tu faire si les deux fichiers n'ont pas le même nombre de lignes ? Faut-il recopier l'intégralité des deux lignes ?
S'il s'agit de ça, tu peux utiliser par exemple la commande
La commande que tu proposes ne fera pas ce que tu veux, car elle écrit juste la première ligne de
Bonne chance
Ce serait plus simple si tu expliquais ce que tu veux faire avec un exemple. Notamment, le contenu des deux fichiers d'entrée n'est pas clair, ni le résultat que tu veux obtenir.
Si j'ai bien compris tu veux lire deux fichiers ligne par ligne et écrire côte à côte les lignes de chaque fichier. Si c'est le cas, que dois-tu faire si les deux fichiers n'ont pas le même nombre de lignes ? Faut-il recopier l'intégralité des deux lignes ?
S'il s'agit de ça, tu peux utiliser par exemple la commande
pr, comme le montre cet exemple :
pr -m -t quay.txt registry.txt
La commande que tu proposes ne fera pas ce que tu veux, car elle écrit juste la première ligne de
quay.txtà la suite de
gitlab.txt, puis la première ligne de
registry.txtà la suite de
gitlab.txt. À moins de répéter ce procéder pour chaque ligne des deux fichiers (en incrémentant la ligne à écrire) ça ne marchera pas. De plus, les deux lignes seront écrites sur deux lignes différentes et non côte à côte.
Bonne chance
Le fichier2.txt :
Le fichier3.txt :
Ensuite, je voudrais (grâce à ce ) le rentrer dans une variable et une boucle pour pouvoir faire cette affichage, tout ça sur la même ligne si possible.
et ainsi de suite .....
Peut-être :
Mais je sais pas ce qu'il faut d'autre ou même comment faire la boucle.
Merci d'avance
Donc devrait faire ce que tu veux, non ?
Non, car je veux en faire une boucle maintenant et qui doit afficher et avant chaque ligne.
Mieux, tu peux directement construire ces lignes sans passer par .
Bonne chance