it-swarm.com.de

Wie druckt man mit sed die ersten 'N' Zeichen einer Zeile?

Mit sed, was ist ein Einzeiler, um die ersten n Zeichen zu drucken. Ich mache folgendes.

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

Benutze kein sed, benutze cut.

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

Wenn Sie sed verwenden MÜSSEN:

grep ... | sed -e 's/^\(.\{12\}\).*/\1/'
182
Paul Tomblin
colrm x

Wenn Sie beispielsweise die ersten 100 Zeichen benötigen:

cat file |colrm 101 

Es gibt es schon seit Jahren und es ist in den meisten Linux- und BSD-Versionen (freebsd sicher), normalerweise standardmäßig. Ich kann mich nicht erinnern, jemals apt-get install colrm.

41
manoflinux

muss auch nicht grep verwenden

ein Beispiel:

sed -n '/searchwords/{s/^\(.\{12\}\).*/\1/g;p}' file
7
ghostdog74

Streng mit sed:

grep ... | sed -e 's/^\(.\{N\}\).*$/\1/'
4
Diego Sevilla

Um die N ersten Zeichen zu drucken, können Sie die N + 1 Zeichen bis zum Zeilenende entfernen:

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