![]() |
|
|
google unix.com
|
|||||||
| Forums | Registrer | Forum Rules | Lenker | Album | FAQ | Medlemsliste | Kalender | Søke | Dagens innlegg | Marker forumene som lest |
| Shell programmering og Skripting Post spørsmål om ksh, csh, SH, Bash, Perl, PHP, SED, awk og ANDRE shell scripts og Shell skriptespråk her. |
Mer UNIX og Linux Forum Emner Du kan finne nyttig
|
||||
| Tråd | Tråd startet | Forum | Svar | Siste innlegg |
| kvitte seg med spesialtegn | vakharia Mahesh | UNIX og Linux-applikasjoner | 4 | 07-29-2008 02:36 |
| grep med spesialtegn | guruparan18 | UNIX Desktop for Dummies Spørsmål og svar | 3 | 06-12-2008 06:58 |
| Grep med spesialtegn | Vashj | Shell programmering og Skripting | 6 | 11-27-2007 06:51 |
| spesialtegn | nawnaw | UNIX for Dummies Spørsmål og svar | 2 | 05-18-2004 04:17 |
| awk / sed med spesialtegn | apalex | Shell programmering og Skripting | 5 | 05-06-2002 05:40 |
![]() |
|
|
LinkBack | Thread Tools | Søk i denne tråden | Rate Thread | Visningsmoduser |
|
|
|
||||
|
Grep ikke fungerer - spesialtegn?
Jeg har en fil som jeg behandler med en stund loop fra, i komme tilfeller grep /sed kommandoen (strenger posten | grep "errorDetail" | sed 's & * errorDetail \ (.*) \ (/ errorDetail \) .* / \ 1 & ") fungerer og produserer dataene jeg etter og i noen det ikke. Jeg har inspisert data innenfor sviktende poster, de definitivt inneholde 'errorDetail feltet at jeg etter. Jeg er en sterk mistanke om at noen av postene inneholde noen tegn på at grep ikke liker. Men jeg vet ikke hvilke tegn. Det kan være noen binære tegn som forårsaker problemet. Da jeg satt hver post gjennom s /[!@# \ $%^&*()]// g "filnavn, noen av postene som ble gitt meg feil data gi meg errorDetail. Men ikke alle. Noen ideer hvordan jeg kan løse dette problemet?
Sist endret av gugs; 07-31-2008 på 07:19.. |
|
||||
|
Takk for at det virker. Men hva er den beste måten?
Den, det sed Kommandoen har bidratt i utpakking av data jeg ønsker, men jeg mister noe av formating dvs. mellomrom i ord. Det synes det er det som forårsaker problemet. Hvis jeg konvertere data ved hjelp sed s / [^ a-zA-Z0-9] / / g 'det blir dataene jeg ønsker. Hvis jeg konvertere bruker s / [^ a-zA-Z0-9 <>:]// g 'den også får data jeg ønsker. Men når jeg konvertere data via s / [^ a-zA-Z0-9 <>:] / / g 'som når jeg treffer problem. Så er det en måte å subsituting rommet med noen tegn, extarct dataene jeg intrested i og deretter konvertere tegnsettet tilbake til rommet?
|
|
||||
|
Det bør brukes med mellomrom, også prøve å utelate TAB i parentes. Å få en kategori, først trykker <Ctr>-V og deretter på tabulatortasten. Hvis du ønsker å konvertere plass først til et annet tegn at dette tegnet skal ikke være i filen. Et eksempel for å konvertere det plass til en understrekning og tilbake til et mellomrom: Code:
sed -e 's/ /_/g' file -e 's/[^a-zA-Z0-9_]//g' -e 's/_/ /g' |
![]() |
| Hugseliste |
| Thread Tools | Søk i denne tråden |
| Visningsmoduser | Ranger denne tråden |
|
|