Supposons que j'aie le fichier suivant text.txt
:
@something
@somethingelse
@anotherthing
1
2
2
3
3
3
4
4
4
5
5
6
7
7
8
9
9
9
10
11
11
11
14
15
Je veux diviser ce fichier en plusieurs fichiers à chaque 5ème ligne de données, mais si le numéro de la ligne suivante est identique, il doit toujours se retrouver dans le même fichier. L'en-tête doit figurer dans chaque fichier, mais il peut également être ignoré et réintroduit ultérieurement.
Cela signifie à peu près ceci :
text.txt.1
@something
@somethingelse
@anotherthing
1
2
2
3
3
3
text.txt.2
@something
@somethingelse
@anotherthing
4
4
4
5
5
text.txt.3
@something
@somethingelse
@anotherthing
6
7
7
8
9
9
9
text.txt.4
@something
@somethingelse
@anotherthing
10
11
11
11
14
text.txt.5
@something
@somethingelse
@anotherthing
15
J'ai donc pensé à quelque chose comme ça :
awk 'NR%5==1 && $1!=prev{i++;prev=$1}{print > FILENAME"."i}' test.txt
Les deux instructions fonctionnent seules mais pas ensemble est-ce possible en utilisant awk ?