Используя sed, как вы печатаете первые 'N' символов строки? - PullRequest
84 голосов
/ 11 февраля 2009

С sed, что такое один вкладыш для печати первых n символов Я делаю следующее.

grep -G 'defn -test.*' OctaneFullTest.clj  | sed ....

Ответы [ 5 ]

176 голосов
/ 11 февраля 2009

Не используйте sed, используйте cut.

grep .... | cut -c 1-N

Если вы ДОЛЖНЫ использовать sed:

grep ... | sed -e 's/^\(.\{12\}\).*/\1/'
39 голосов
/ 02 июня 2011
colrm x

Например, если вам нужны первые 100 символов:

cat file |colrm 101 

Это было в течение многих лет и в большинстве Linux и BSD (FreeBSD наверняка), обычно по умолчанию. Я не помню, чтобы мне когда-либо приходилось печатать apt-get install colrm.

6 голосов
/ 14 декабря 2009

также не нужно использовать grep

пример:

sed -n '/searchwords/{s/^\(.\{12\}\).*/\1/g;p}' file
4 голосов
/ 11 февраля 2009

Строго с седом:

grep ... | sed -e 's/^\(.\{N\}\).*$/\1/'
3 голосов
/ 21 декабря 2016

Для печати первых N символов вы можете удалить N + 1 символов до конца строки:

$ sed 's/.//5g' <<< "defn-test"
defn
...