J'ai trois fichiers avec n nombre de lignes comme indiqué ci-dessous
sample1.txt
------------------------------
Date Time Name
------------------------------
2013/10/12 12:09:09 Krish
2013/10/12 13:12:01 Ramb
2013/10/12 15:28:39 Likha
2013/10/12 15:56:12 Mat
.
.
.
Sample2.txt
------------------------------
Date Time Name
------------------------------
2013/10/12 11:19:21 Jack
2013/10/12 12:11:09 Rob
2013/10/12 15:45:12 Rick
2013/10/12 22:11:10 Phil
.
.
.
Sample3.txt
------------------------------
Date Time Name
------------------------------
2013/10/12 12:09:09 Eric
2013/10/12 13:12:01 Bob
2013/10/12 15:28:39 Mike
2013/10/12 15:56:12 Nick
.
.
.
J'ai besoin de fusionner ces trois fichiers dans un seul fichier (Master.txt) en excluant les en-têtes (3 premières lignes) dans Sample2.txt et Sample3.txt comme indiqué ci-dessous
Sortie désirée
$cat Master.txt
------------------------------
Date Time Name
------------------------------
2013/10/12 12:09:09 Krish
2013/10/12 13:12:01 Ramb
2013/10/12 15:28:39 Likha
2013/10/12 15:56:12 Mat
2013/10/12 11:19:21 Jack
2013/10/12 12:11:09 Rob
2013/10/12 15:45:12 Rick
2013/10/12 22:11:10 Phil
2013/10/12 12:09:09 Eric
2013/10/12 13:12:01 Bob
2013/10/12 15:28:39 Mike
2013/10/12 15:56:12 Nick
Remarque: sur une machine AIX avec Ksh 88
Réponses:
la source
tail -n +4
signifie que, quelle que soit la taille du fichier, les 3 premières lignes sont exclues. Je viens de l'essayer avec un fie de 10 lignes. Ne confondez pas le "4" ici avec le fait que votre échantillon a 4 lignes. C'est essentiellement une coïncidence.head
a une option similaire:-n -X
affichera toutes lesX
lignes sauf les dernières .la source
${}
syntaxesed
?${}
, mais "faites{...}
sur les lignes 4 pour durer"; il supprime les lignes correspondantes, mais seulement après le premier en-tête. Cependant, l'utilisation de tail est plus générale et plus robuste.{}
est un regroupement de commandes.#!/bin/sed
étant l'interprète.