Che sed
cos'è una riga per stampare i primi n caratteri ? Sto facendo quanto segue:
grep -G 'defn -test.*' OctaneFullTest.clj | sed ....
Che sed
cos'è una riga per stampare i primi n caratteri ? Sto facendo quanto segue:
grep -G 'defn -test.*' OctaneFullTest.clj | sed ....
Risposte:
Non usare sed
, usa cut
:
grep .... | cut -c 1-N
Se DEVI usare sed
:
grep ... | sed -e 's/^\(.\{12\}\).*/\1/'
sed -r 's/^(.{12}).*/\1/'
.
-r
è apparentemente disponibile su Linux, ma non su Mac.
cut -c 1-N
(dove N è un numero) fa lavoro sulla mia installazione Cygwin (Cygwin v 2.6, taglio v 8,25..) Su OS X, utilizzare sed -E
piuttosto che sed -r
, utilizzato altrove.
colrm x
Ad esempio, se hai bisogno dei primi 100 caratteri:
cat file |colrm 101
È in circolazione da anni ed è nella maggior parte di Linux e bsd (di sicuro freebsd), di solito per impostazione predefinita. Non ricordo di aver mai dovuto digitare apt-get install colrm
.
colrm
capisce utf8.
non devi nemmeno usare grep
un esempio:
sed -n '/searchwords/{s/^\(.\{12\}\).*/\1/g;p}' file
Rigorosamente con sed:
grep ... | sed -e 's/^\(.\{N\}\).*$/\1/'
E la testa ?
echo alonglineoftext | head -c 9
cut
non lo taglia mentre losed
fa.