使用sed
什么是单行来打印前n 个字符?我正在执行以下操作:
grep -G 'defn -test.*' OctaneFullTest.clj | sed ....
不要使用sed
,使用cut
:
grep .... | cut -c 1-N
如果您必须使用sed
:
grep ... | sed -e 's/^\(.\{12\}\).*/\1/'
colrm x
例如,如果您需要前 100 个字符:
cat file |colrm 101
它已经存在多年并且在大多数 linux 和 bsd(肯定是 freebsd)中,通常是默认的。我不记得曾经需要打字apt-get install colrm
。
也不必使用 grep
一个例子:
sed -n '/searchwords/{s/^\(.\{12\}\).*/\1/g;p}' file
严格使用 sed:
grep ... | sed -e 's/^\(.\{N\}\).*$/\1/'
要打印前 N 个字符,您可以删除直到行尾的 N+1 个字符:
$ sed 's/.//5g' <<< "defn-test"
defn
头呢?
echo alonglineoftext | head -c 9