使用sed,如何打印一行的第一个“N”字符?
用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),通常是默认的。 我不记得曾经inputapt-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.*' OctaneFullTest.clj" defn