staging.inyokaproject.org

kurzen einer Zeile

Status: Gelöst | Ubuntu-Version: Kubuntu 12.04 (Precise Pangolin)
Antworten |

Standard1988

Anmeldungsdatum:
28. Dezember 2010

Beiträge: Zähle...

Hallo Leute,

es ist nur eine Schönheitsfrage:

Kann man folgenden Ausdruck noch irgendwie kürzer Schreiben (grep "^[0-9]" test | cut -f 1 -d " ")

 1
 2
 3
 4
 5
 6
 7
 8
 9
10
11
12
$ cat test
---|------------------------------|----------
ID | NAME                         | OS FAMILY
---|------------------------------|----------
55 | delta1                       | Ubuntu
56 | delta2                       | Ubuntu
---|------------------------------|----------


$ grep  "^[0-9]" test |  cut -f 1 -d " "
55
56

Vielen Grüße

Stanard

seahawk1986

Anmeldungsdatum:
27. Oktober 2006

Beiträge: 10978

Ich nehme an du willst die Zeichenkette aus Ziffern am Anfang der Zeile mit mindestens einem Element haben - das ginge z.B. so:

1
$ grep -o "^[0-9]\+" test

Standard1988

(Themenstarter)

Anmeldungsdatum:
28. Dezember 2010

Beiträge: 87

danke. das habe ich gesucht. Das bist mein Tagesheld ☺

rklm Team-Icon

Projektleitung

Anmeldungsdatum:
16. Oktober 2011

Beiträge: 12527

Super Lösung!

Ich hatte an eine direktere Übersetzung gedacht:

 1
 2
 3
 4
 5
 6
 7
 8
 9
10
11
$ awk '/^[0-9]/ {print $1}' <<DOC
> ---|------------------------------|----------
> ID | NAME                         | OS FAMILY
> ---|------------------------------|----------
> 55 | delta1                       | Ubuntu
> 56 | delta2                       | Ubuntu
> ---|------------------------------|----------
>
> DOC
55
56

Aber in diesem Fall ist grep -o auf jeden Fall besser.

Antworten |