Fractionner un fichier texte en deux (ou en un pourcentage quelconque) sous Ubuntu Linux

Fractionner un fichier texte en deux (ou en un pourcentage quelconque) sous Ubuntu Linux
Fractionner un fichier texte en deux (ou en un pourcentage quelconque) sous Ubuntu Linux

Vidéo: Fractionner un fichier texte en deux (ou en un pourcentage quelconque) sous Ubuntu Linux

Vidéo: Fractionner un fichier texte en deux (ou en un pourcentage quelconque) sous Ubuntu Linux
Vidéo: Développer en C# sous Linux avec Visual Studio Code . NET et GTK. - YouTube 2024, Avril
Anonim

Si vous essayez de traiter un fichier texte difficile à manipuler, le fractionner en sections peut parfois aider à accélérer le traitement, en particulier si nous devions importer un fichier dans un tableur. Ou vous pouvez simplement extraire un ensemble de lignes particulier d’un fichier.

Entrez split, wc, tail, cat et grep. (ne pas oublier sed et awk). Linux contient un ensemble complet d’utilitaires permettant de travailler avec des fichiers texte sur la ligne de commande. Pour notre tâche d'aujourd'hui, nous utiliserons split et wc.

Nous examinons d’abord notre fichier journal….

> ls -l -rw-r–r– 1 thegeek ggroup 42046520 2006-09-19 11:42 access.log

Nous voyons que la taille du fichier est de 42Mo. C’est un peu gros… mais combien de lignes traitons-nous? Si nous voulions importer cela dans Excel, il nous faudrait garder moins de 65 000 lignes.

Vérifions le nombre de lignes du fichier à l’aide de l’utilitaire wc, qui signifie «nombre de mots».

> wc -l access.log 146330 access.log

Nous avons dépassé notre limite. Nous devrons diviser cela en 3 segments. Pour ce faire, nous allons utiliser l’utilitaire split.

> split -l 60000 access.log > ls -l

total 79124 -rw-rw-r– 1 thegeek ggroup 40465200 2006-09-19 12:00 access.log -rw-rw-r– 1 thegeek ggroup 16598163 2006-09-19 12:05 xaa -rw-rw-r– 1 thegeek ggroup 16596545 2006-09-19 12:05 xab -rw-rw-r– 1 thegeek ggroup 7270492 2006-09-19 12:05 xac

Nous avons maintenant divisé nos fichiers texte en 3 fichiers distincts, contenant chacun moins de 60000 lignes, ce qui semblait être un bon nombre à choisir. Le dernier fichier contient le montant restant. Si vous deviez couper ce fichier en deux, vous l’auriez fait:

> split -l 73165 access.log

Et c’est tout ce qu’il ya à faire.

Conseillé: