Verwenden Sie sed
einen Einzeiler, um die ersten n Zeichen zu drucken ? Ich mache folgendes:
grep -G 'defn -test.*' OctaneFullTest.clj | sed ....
Verwenden Sie sed
einen Einzeiler, um die ersten n Zeichen zu drucken ? Ich mache folgendes:
grep -G 'defn -test.*' OctaneFullTest.clj | sed ....
Antworten:
Nicht benutzen sed
, benutzen cut
:
grep .... | cut -c 1-N
Wenn Sie verwenden müssen sed
:
grep ... | sed -e 's/^\(.\{12\}\).*/\1/'
sed -r 's/^(.{12}).*/\1/'
.
-r
ist anscheinend unter Linux verfügbar, aber nicht auf Mac.
cut -c 1-N
(wobei N eine Zahl ist) funktioniert bei meiner Cygwin-Installation (cygwin v. 2.6, cut v. 8.25). Verwenden Sie unter OS X sed -E
eher als sed -r
anderswo verwendet.
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 (sicher freebsd) enthalten, normalerweise standardmäßig. Ich kann mich nicht erinnern, jemals tippen zu müssen apt-get install colrm
.
colrm
versteht utf8.
muss auch nicht grep verwenden
ein Beispiel:
sed -n '/searchwords/{s/^\(.\{12\}\).*/\1/g;p}' file
Streng mit sed:
grep ... | sed -e 's/^\(.\{N\}\).*$/\1/'
Wie wäre es mit Kopf ?
echo alonglineoftext | head -c 9
cut
es nicht geschnitten, solange essed
funktioniert.