![]() |
Hallo en welkom van de Verenigde Staten aan de UNIX en Linux Forum! Bedankt voor uw bezoek en Deelnemen aan onze wereldwijde gemeenschap.
|
|
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. |
Meer UNIX en Linux Forum Onderwerpen Misschien vindt u Helpful
|
||||
| Draad | Thread Starter | Forum | Antwoorden | Last Post |
| get rid of speciale tekens | vakharia Mahesh | UNIX-en Linux-toepassingen | 4 | 07-29-2008 02:36 PM |
| grep met speciale tekens | guruparan18 | UNIX Desktop voor Dummies Questions & Answers | 3 | 06-12-2008 06:58 |
| Grep met speciale tekens | Vashj | Programmeren en Shell Scripting | 6 | 11-27-2007 06:51 |
| speciale tekens | nawnaw | UNIX voor Dummies Questions & Answers | 2 | 05-18-2004 04:17 PM |
| awk / sed met speciale tekens | apalex | Programmeren en Shell Scripting | 5 | 05-06-2002 05:40 PM |
![]() |
|
|
LinkBack | Thread Tools | Zoeken in deze Thread | Rate Thread | Display Modes |
|
|
|
||||
|
Grep niet werkt - speciale tekens?
Ik heb een bestand dat ik behandelen met een while lus uit, in de gevallen komen de grep /sed commando (strijkers record | grep "errorDetail" | sed 's & * errorDetail \ (.*) \ (/ errorDetail \) .* & \ 1 &') werkt en produceert de gegevens ben ik na en in sommige ook niet. Ik heb de gegevens binnen de falende dossiers, bevatten zij de 'errorDetail' veld dat ik na. Ik ben van een sterk vermoeden dat een deel van de dossiers bevatten een aantal tekens dat de grep niet willen. Maar ik weet niet welke tekens. Het kan enkele binaire karakter dat het probleem veroorzaakt. Als ik elk record thorugh s /[!@# \ $%^&*()]// g 'bestandsnaam, een deel van de dossiers die waren dat ik onjuiste gegevens geven mij de errorDetail. Echter, niet alle. Enig idee hoe ik kan dit probleem oplossen?
Laatst gewijzigd door gugs; op 07.31.2008 07:19.. |
|
||||
|
Bedankt voor dat het werkt. Maar wat is de beste manier voor?
De sed commando heeft geholpen bij de extractie van de gegevens die ik wil ik echter iets minder opmaken dwz ruimtes in woorden. Het lijkt erop dat is wat het probleem veroorzaakt. Als ik de gegevens met behulp van sed s' / [^ a-zA-Z0-9] / / g 'krijgt de gegevens die ik wil. Als ik met behulp van s' / [^ a-zA-Z0-9 <>:]// g 'het ook krijgt de gegevens die ik wil. Maar wanneer ik de gegevens met behulp van s' / [^ a-zA-Z0-9 <>:] / / g 'is dat als ik hit van het probleem. Dus is er een manier van subsituting de ruimte met een aantal kenmerken, extarct de gegevens ben ik intresse in en vervolgens het karakter terug naar de ruimte?
|
|
||||
|
Het moet werken met spaties, ook proberen uit te sluiten van de TAB binnen de haakjes. Om een TAB, eerste druk <Ctr>-V en vervolgens op de TAB-toets.
Als u wilt converteren de ruimte eerst naar een ander teken er zeker van zijn dat dit karakter niet mag worden in uw bestand. Een voorbeeld om de ruimte om een onderstrepingsteken en weer terug naar een ruimte: Code:
sed -e 's/ /_/g' file -e 's/[^a-zA-Z0-9_]//g' -e 's/_/ /g' |
![]() |
| Bladwijzers |
| Thread Tools | Zoeken in deze Thread |
| Display Modes | Beoordeel deze draad |
|
|