wie beschränken Sie die Länge der Zeichenfolge vorhanden, die in einer Linie mit linux
Ich habe Daten in der folgenden form:
num1 This is a string
num2 This is another string
Ich möchte die Grenze der Länge aller strings, die nach den ersten tab..solche, die Länge(string)<4. Daher ist die Ausgabe die ich bekomme ist:
num1 This is a string
num2 This is another
Ich kann mit python. Aber ich bin auf der Suche ein linux-äquivalent, um das gleiche zu erreichen.
- Linux in der bash ?
- Ja du hast Recht
- Sie sagen "length(Zeichenfolge)<4", aber ich sehe nichts in Ihrer Ausgabe, dass der im Einklang mit diesen; beispielsweise
"This is another"
ist 15 Zeichen lang. - Das ist fast das gleiche wie stackoverflow.com/q/19804806/3165552
Du musst angemeldet sein, um einen Kommentar abzugeben.
Mit awk, durch Spalten :
oder mit sed :
oder durch die Länge mit Ausschneiden :
cut
wenn Sie eine Datei als argument.In der bash, können Sie den folgenden zur Begrenzung der Zeichenkette, in diesem Fall von index 0 bis index 17.
Wenn Sie möchten, kürzen von Zeichenfolgen an den Wortgrenzen, den Sie verwenden könnten
fold
mit der option-s:Der Nachteil ist
fold
undsed
müssen genannt werden für jede Linie (sed q
ist das gleiche wietail -n1
).