124 votes

Avec sed, comment imprimez-vous les premiers «N» caractères d’une ligne?

Avec sed, il s’agit d’une ligne pour imprimer les n premiers caractères. Je fais ce qui suit.

 grep -G 'defn -test.*' OctaneFullTest.clj  | sed ....
 

230voto

Paul Tomblin Points 83687

N'utilisez pas sed, utilisez cut.

 grep .... | cut -c 1-N
 

Si vous DEVEZ utiliser sed:

 grep ... | sed -e 's/^\(.\{12\}\).*/\1/'
 

51voto

manoflinux Points 121
 colrm x
 

Par exemple, si vous avez besoin des 100 premiers caractères:

 cat file |colrm 101 
 

Il existe depuis des années et est dans la plupart des linux et des bsd (freebsd bien sûr), généralement par défaut. Je ne me souviens pas d'avoir jamais dû taper apt-get install colrm .

10voto

ghostdog74 Points 86060

ne pas avoir à utiliser grep non plus

un exemple:

 sed -n '/searchwords/{s/^\(.\{12\}\).*/\1/g;p}' file
 

7voto

Diego Sevilla Points 17274

Strictement avec sed:

 grep ... | sed -e 's/^\(.\{N\}\).*$/\1/'
 

Prograide.com

Prograide est une communauté de développeurs qui cherche à élargir la connaissance de la programmation au-delà de l'anglais.
Pour cela nous avons les plus grands doutes résolus en français et vous pouvez aussi poser vos propres questions ou résoudre celles des autres.

Powered by:

X