Bonjour,
J'ai un fichier avec plusieurs lignes.
Je veux afficher les 100 premiers caractère de chaque ligne!
comment faire?
Merci
Bonjour,
J'ai un fichier avec plusieurs lignes.
Je veux afficher les 100 premiers caractère de chaque ligne!
comment faire?
Merci
Bonjour,
Code : Sélectionner tout - Visualiser dans une fenêtre à part sed -rn 's/(^.{,100}).*/\1/p' tonFichier
salut,
la même coté awk :
Code : Sélectionner tout - Visualiser dans une fenêtre à part awk '{print substr($0,1,1000)}' fichier
Avec cut :
Code : Sélectionner tout - Visualiser dans une fenêtre à part
1
2 $ cut -c 100- --complement tonfichier.txt
plus simple avec cut :
Code : Sélectionner tout - Visualiser dans une fenêtre à part $ cut -c -100 monfichier.txt
Plutôt
Code : Sélectionner tout - Visualiser dans une fenêtre à part $ cut -c 101- --complement tonfichier.txt
Et une version "pure shell" (ksh/bash):
Code : Sélectionner tout - Visualiser dans une fenêtre à part (IFS=""; while read line; do echo "${line:0:100}"; done < tonfichier.txt)
en bash, au moins, pour éviter de modifier l'IFS et conserver les blancs en début de ligne, ne pas assigner de variable avec read, et afficher REPLY
Code BASH : Sélectionner tout - Visualiser dans une fenêtre à part while read; do echo "${REPLY::100}"; done <fichier
Oui, c'est bon avec bash mais pas avec ksh93, qui affecte bien la variable REPLY mais supprime les espaces du début.
Oui, tu as raison; J'ai confondu avec
Là, c'est OK.
Code : Sélectionner tout - Visualiser dans une fenêtre à part $ cut -c -100 tonfichier.txt
Bonjour,
Je me permet pour le fun de rajouter le petit oublié:
Code : Sélectionner tout - Visualiser dans une fenêtre à part grep -o '^.\{,100\}' tonfichier
Si, désolé...
PS: Merci pour la correction de conjugaison.
Je suiscontre gnu grep:
Suite à la remarque de Jack-ft, je fais quelques tests, et voila ce que me dit le gnu grep 2.6.3:
Alors que la version 2.27, ne me pose aucun problème...
Code : Sélectionner tout - Visualiser dans une fenêtre à part
1
2 $ help read | grep -o '^.\{,100\}' grep: décompte de répétition mal formé
Et petite précision: le man du grep de la 2.6.3 autorise cette syntaxe...
En poussant encore un peu et en utilisant une syntaxe disons plus standard ( grep -o '^.\{0,100\}' ) et en mettant la valeur 4096 au lieu de 100, cela prend 18 seconde pour me rendre la main (la machine - qui ne fait rien de particulier - sur laquelle j'ai fait le test à un CPU E5-2643 à 3.40GHz (XEON) et plusieurs giga de ram):
En conclusion, je dirais qu'il faut vraiment éviter cette commande...
Code : Sélectionner tout - Visualiser dans une fenêtre à part
1
2
3
4
5
6
7
8 time help read | grep -o '^.\{0,4096\}' read: read [-ers] [-a array] [-d delim] [-i text] [-n nchars] [-N nchars] [-p prompt] [-t timeout] [-u fd] [name ...] Read a line from the standard input and split it into fields. ... ... real 0m18.949s user 0m18.712s sys 0m0.222s![]()
Partager