J'ai un fichier qui ressemble à cet exemple de jouet. Mon fichier actuel contient 4 millions de lignes, dont environ 10 que je dois supprimer.
ID Data1 Data2
1 100 100
2 100 200
3 200 100
ID Data1 Data2
4 100 100
ID Data1 Data2
5 200 200
Je souhaite supprimer les lignes qui ressemblent à l'en-tête, à l'exception de la première ligne.
Fichier final :
ID Data1 Data2
1 100 100
2 100 200
3 200 100
4 100 100
5 200 200
Comment puis-je faire cela ?
Réponse acceptée :
header=$(head -n 1 input)
(printf "%sn" "$header";
grep -vFxe "$header" input
) > output
- saisir la ligne d'en-tête du fichier d'entrée dans une variable
- imprimer l'en-tête
- traiter le fichier avec
grep
pour omettre les lignes qui correspondent à l'en-tête - capturez le résultat des deux étapes ci-dessus dans le fichier de sortie