#1 Le 04/07/2017, à 12:16
- MINYA
Ajout ligne entre des données de colonnes semblables avec awk
Bonjour, je souhaiterai séparer les lignes dont une colonne contient des informations semblables
Exemple , ici je voudrais séparer mon fichier en fonction de la première colonne
tata xoxo 8989
tata baba 89
tata bob 55
toto roro 66
toto soso 12
titi wowo 36
titi nono 77
titi bobo 47
titi popo 12
donc le fichier de sortie, je le voudrais ainsi :
séparateur1
tata xoxo 8989
tata baba 89
tata bob 55
séparateur2
toto roro 66
toto soso 12
séparateur3
titi wowo 36
titi nono 77
titi bobo 47
titi popo 12
Merci
Peace
Hors ligne
#2 Le 04/07/2017, à 12:58
- credenhill
Re : Ajout ligne entre des données de colonnes semblables avec awk
hello
$ awk '!t[$1]++ {print "séparateur" ++n} {print}' fichier
séparateur1
tata xoxo 8989
tata baba 89
tata bob 55
séparateur2
toto roro 66
toto soso 12
séparateur3
titi wowo 36
titi nono 77
titi bobo 47
titi popo 12
Dernière modification par credenhill (Le 04/07/2017, à 12:59)
Hors ligne
#3 Le 04/07/2017, à 13:06
- MINYA
Re : Ajout ligne entre des données de colonnes semblables avec awk
Merci beaucoup, c'est exactement ce que je veux, comment je peux faire pour savoir en même temps le nombre de lignes qu'il y a entre chaque séparateur ? J'en aurais besoin pour le calcul d'une moyenne.
Encore merci
Peace
Hors ligne
#4 Le 04/07/2017, à 14:08
- credenhill
Re : Ajout ligne entre des données de colonnes semblables avec awk
$ awk '!t[$1]++ {if(++a>1)print t[t2[a-1]], "lignes"; print "séparateur" ++n} {print; t2[a]=$1} END {print t[$1], "lignes"}' fichier
séparateur1
tata xoxo 8989
tata baba 89
tata bob 55
3 lignes
séparateur2
toto roro 66
toto soso 12
2 lignes
séparateur3
titi wowo 36
titi nono 77
titi bobo 47
titi popo 12
4 lignes
Hors ligne