Comment utiliser sed
une seule ligne pour imprimer les n premiers caractères ? Je fais ce qui suit:
grep -G 'defn -test.*' OctaneFullTest.clj | sed ....
N'utilisez pas sed
, utilisez cut
:
grep .... | cut -c 1-N
Si vous DEVEZ utiliser sed
:
grep ... | sed -e 's/^\(.\{12\}\).*/\1/'
cut
cela ne le coupe passed
.sed -r 's/^(.{12}).*/\1/'
.-r
est apparemment disponible sur Linux, mais pas sur Mac.cut -c 1-N
(où N est un nombre) fait le travail sur mon installation Cygwin (Cygwin v 2.6, coupe v 8.25.). Sur OS X, utilisezsed -E
plutôt quesed -r
, utilisé ailleurs.Par exemple, si vous avez besoin des 100 premiers caractères:
Il existe depuis des années et se trouve dans la plupart des Linux et BSD (freebsd bien sûr), généralement par défaut. Je ne me souviens pas avoir jamais eu à taper
apt-get install colrm
.la source
colrm
comprend utf8.pas besoin d'utiliser grep non plus
un exemple:
la source
Strictement avec sed:
la source
Pour imprimer les N premiers caractères, vous pouvez supprimer les N + 1 caractères jusqu'à la fin de la ligne:
la source
Et la tête ?
la source