Usando o sed
que é um liner para imprimir os primeiros n caracteres ? Estou fazendo o seguinte:
grep -G 'defn -test.*' OctaneFullTest.clj | sed ....
Usando o sed
que é um liner para imprimir os primeiros n caracteres ? Estou fazendo o seguinte:
grep -G 'defn -test.*' OctaneFullTest.clj | sed ....
Respostas:
Não use sed
, use cut
:
grep .... | cut -c 1-N
Se você DEVE usar sed
:
grep ... | sed -e 's/^\(.\{12\}\).*/\1/'
sed -r 's/^(.{12}).*/\1/'
.
-r
está aparentemente disponível no Linux, mas não no Mac.
cut -c 1-N
(onde N é um número) não trabalho no meu instalação Cygwin (cygwin v 2.6, corte v 8,25..) No OS X, use sed -E
ao invés de sed -r
, usado em outro lugar.
colrm x
Por exemplo, se você precisar dos primeiros 100 caracteres:
cat file |colrm 101
Ele existe há anos e está na maioria dos linux e bsd's (freebsd com certeza), geralmente por padrão. Não me lembro de ter que digitar apt-get install colrm
.
colrm
entende utf8.
não tem que usar grep também
um exemplo:
sed -n '/searchwords/{s/^\(.\{12\}\).*/\1/g;p}' file
Estritamente com sed:
grep ... | sed -e 's/^\(.\{N\}\).*$/\1/'
Que tal cabeça ?
echo alonglineoftext | head -c 9
cut
não funciona, massed
sim.