![]() |
|
|
google unix.com
|
|||||||
| Forums | Registreer | Forum Regels | Links | Albums | Veelgestelde vragen | Ledenlijst | Kalender | Zoeken | Today's Posts | Markeer forums als gelezen |
| Programmeren en Shell Scripting Post vragen over KSH, CSH, SH, Bash, Perl, PHP, sed, awk en andere shell scripts en shell scripting talen hier. |
![]() |
|
|
LinkBack | Thread Tools | Zoeken in deze Thread | Rate Thread | Display Modes |
|
|
|
||||
|
Hallo, ik ben erg nieuw voor shell scripting en hebben een directory-pad, zoals:
/ usr/dev/blah/Arch/release/812-1235-P05/files/list en ik wil output: 812-1235-P05 Ik denk dat het gebruik van sed met een regex zoals [0-9] - [0-9] - [0-9]? [az] zou de weg te gaan, maar ik ben met veel moeite om ze aan het werk. Eventuele suggesties? Bedankt. |
|
||||
|
Hartelijk bedankt voor uw antwoord. Lijkt erop dat het zou moeten werken, ik ben leidingen / usr/dev/blah/Arch/release/812-1235-P05/files/list die van een vorige grep commando in sed zo graag Code:
grep command_to_get_path | sed 's/.*\([0-9]\{3\}-[0-9]\{4\}-[0-9A-Z]\{3\}\).*/\1/'
en het net wordt de hele weg weer, is het niet strippen alles rond het 812-1235-P05. Doe ik iets helemaal verkeerd? Ik moet zijn. Nogmaals bedankt! |
|
|||||
|
Dat is vreemd, als ik die pijp string rechtstreeks in sed op mijn computer, krijg ik de vereiste resultaat. Kun je de grep zonder de sed en tonen ons de juiste uitgang van de grep (met inbegrip van alle spatiëring en 'rare' tekens).
mijn sed versie: chris @ Druid: ~ $ sed - versie GNU sed versie 4.1.5 Laatst gewijzigd door wempy; op 10.21.2008 11:57.. Reden: toegevoegd sed versie |
|
||||
|
Ik heb het, mijn pad heeft ook een tijdstempel aan het einde van het en ik niet omsluiten met quotes en het gebruikte aantal <> 's Newbie vergissing denk ik. Ik dank u hartelijk voor al uw hulp ... zeker mijn dag makkelijker.
|
![]() |
| Bladwijzers |
| Thread Tools | Zoeken in deze Thread |
| Display Modes | Beoordeel deze draad |
|
|