Avec sed, c’est quoi un liner 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/'
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 avoir jamais eu à taper apt-get install colrm
.
ne pas avoir à utiliser grep non plus
un exemple:
sed -n '/searchwords/{s/^\(.\{12\}\).*/\1/g;p}' file
Strictement avec sed:
grep ... | sed -e 's/^\(.\{N\}\).*$/\1/'
Pour imprimer les N premiers caractères, vous pouvez supprimer les N + 1 caractères jusqu'à la fin de la ligne:
$ sed 's/.//5g' <<< "defn-test"
defn