Using sed
what is an one liner to print the first n characters? I am doing the following:
grep -G \'defn -test.*\' OctaneFullTest.clj
How about head ?
echo alonglineoftext | head -c 9
Don't use sed
, use cut
:
grep .... | cut -c 1-N
If you MUST use sed
:
grep ... | sed -e 's/^\(.\{12\}\).*/\1/'
To print the N first characters you can remove the N+1 characters up to the end of line:
$ sed 's/.//5g' <<< "defn-test"
defn
colrm x
For example, if you need the first 100 characters:
cat file |colrm 101
It's been around for years and is in most linux's and bsd's (freebsd for sure), usually by default. I can't remember ever having to type apt-get install colrm
.
Strictly with sed:
grep ... | sed -e 's/^\(.\{N\}\).*$/\1/'
don't have to use grep either
an example:
sed -n '/searchwords/{s/^\(.\{12\}\).*/\1/g;p}' file