Grep und awk

Hallo

Folgender Befehl ergibt folgende Ausgabe auf der Konsole:

$ mdir B: | grep "drive B"
 Volume in drive B is 256MBCARDxyz

Optinal kann die Ausgabe auch folgende sein:
 Volume in drive B is 8MBCARDxyz
 Volume in drive B is 64MBCARDxyz
 Volume in drive B is 1GBCARDxyz

xyz = ändernde Zeichenfolge

Nun möchte ich, dass jeweils nur 8MB, 64MB, 256MB oder 1GB ausgegeben wird. Mein Ansatz ist folgender:

$ mdir B: | grep "drive B" | awk '{print $6}'
256MBCARDxyz

Optinal kann die Ausgabe auch folgende sein:
8MBCARDxyz
64MBCARDxyz
1GBCARDxyz

Aber wie bringe ich jetzt die Zeichenfolge „CARDxyz“ weg?
Danke für jede Hilfe.
Olli

Hallo,

> $ mdir B: | grep "drive B"  
> Volume in drive B is 256MBCARDxyz  
>   
> Optinal kann die Ausgabe auch folgende sein:  
> Volume in drive B is 8MBCARDxyz  
> Volume in drive B is 64MBCARDxyz  
> Volume in drive B is 1GBCARDxyz  
>   
> xyz = ändernde Zeichenfolge

Nun möchte ich, dass jeweils nur 8MB, 64MB, 256MB oder
1GB ausgegeben wird. Mein Ansatz ist folgender:

> $ mdir B: | grep "drive B" | awk '{print $6}'  
> 256MBCARDxyz  
>   
> Optinal kann die Ausgabe auch folgende sein:  
> 8MBCARDxyz  
> 64MBCARDxyz  
> 1GBCARDxyz

Aber wie bringe ich jetzt die Zeichenfolge „CARDxyz“
weg?

mdir B: | grep "drive B" | awk '{print $6}' | sed s\/CARD.\*\/\/

HTH,

Sebastian

Guten Morgen Sebastian

Wow, das ging aber schnell. Vielen Dank!

Gruss
Olli

Hallo,

> $ mdir B: | grep "drive B"  
> Volume in drive B is 256MBCARDxyz

Nun möchte ich, dass jeweils nur 8MB, 64MB, 256MB oder

1GB ausgegeben wird.

mdir B:expressionless:grep "drive B"|cut -d" " -f7|cut -dC -f1

Grüße,
Moritz

grep -E -o ‚[0-9]+(MB|GB)‘
Hallo Olli,

geht auch ohne awk (siehe Titel).

Gruß
Diether

Vielen Dank!
… für die super Antworten.

Cut kannte ich nicht, mit sed wusste ich nicht wie und das mit grep -E -o hielt ich für unmöglich.

Grüsse
Olli