Usando sed
lo que es un chiste para imprimir los primeros n caracteres ? Estoy haciendo lo siguiente:
grep -G 'defn -test.*' OctaneFullTest.clj | sed ....
No use sed
, use cut
:
grep .... | cut -c 1-N
Si DEBE usar sed
:
grep ... | sed -e 's/^\(.\{12\}\).*/\1/'
colrm x
Por ejemplo, si necesita los primeros 100 caracteres:
cat file |colrm 101
Ha existido durante años y está en la mayoría de linux y bsd (freebsd seguro), generalmente por defecto. No recuerdo haber tenido que escribir nunca apt-get install colrm
.
colrm
entiende utf8.
tampoco tienes que usar grep
un ejemplo:
sed -n '/searchwords/{s/^\(.\{12\}\).*/\1/g;p}' file
Estrictamente con sed:
grep ... | sed -e 's/^\(.\{N\}\).*$/\1/'
Para imprimir los N primeros caracteres, puede eliminar los N + 1 caracteres hasta el final de la línea:
$ sed 's/.//5g' <<< "defn-test"
defn
¿Qué tal la cabeza ?
echo alonglineoftext | head -c 9
cut
no funciona, mientras quesed
sí.sed -r 's/^(.{12}).*/\1/'
.-r
aparentemente está disponible en Linux, pero no en Mac.cut -c 1-N
(donde N es un número) hace el trabajo en mi instalación de Cygwin (Cygwin v 2.6, corte v 8.25..) En OS X, utilicesed -E
en lugar desed -r
, utilizado en otros lugares.