![]() |
Hej och välkommen från USA till UNIX och Linux Forum! Tack för ditt besök och gå med i vår globala gemenskapen.
|
|
google unix.com
|
|||||||
| Forum | Registrera | Forum Regler | Länkar | Album | FAQ | Medlemslista | Kalender | Söka | Dagens inlägg | Markera forum som lästa |
| Shell-programmering och Skript Post frågor om ksh, CSH, SH, bash, PERL, PHP, sed, awk och andra skalskript och skal skriptspråk här. |
Mer UNIX och Linux Forum Ämnen Du kan hitta Helpful
|
||||
| Tråd | Thread Starter | Forum | Svar | Senaste Inlägg |
| bli av med specialtecken | vakharia Mahesh | UNIX och Linux Applications | 4 | 07-29-2008 02:36 |
| grep med specialtecken | guruparan18 | UNIX Desktop for Dummies Frågor & Svar | 3 | 06-12-2008 06:58 |
| Grep med Specialtecken | Vashj | Shell-programmering och Skript | 6 | 11-27-2007 06:51 |
| specialtecken | nawnaw | UNIX for Dummies Frågor & Svar | 2 | 05-18-2004 04:17 |
| awk / sed med specialtecken | apalex | Shell-programmering och Skript | 5 | 05-06-2002 05:40 |
![]() |
|
|
LinkBack | Thread Tools | Sök i denna tråd | Rate Thread | Visningslägen |
|
|
|
||||
|
Grep inte fungerar - specialtecknen?
Jag har en fil som jag är behandling med ett tag loop från i träda fall grep /sed kommando (strängar titelinformation | grep "errorDetail" | sed "S & * errorDetail \ (.*) \ (/ errorDetail \) .* / \ 1 &") arbetar och producerar de uppgifter jag efter och i vissa inte. Jag har kontrollerat uppgifterna i annat fall, till de absolut innehålla "errorDetail" område som jag är efter. Jag är en stark misstanke om att några av posterna innehåller några tecken som grep inte tycker om. Men jag vet inte vilka tecken. Det kan finnas vissa binära karaktär som orsakar problemet. När jag lagt varje post thorugh s /[!@# \ $%^&*()]// g "filnamn, några av de register som gav mig fel uppgifter ge mig errorDetail. Men inte alla. Några idéer hur jag kan lösa det här problemet?
Senast redigerad av gugs; 07-31-2008 vid 07:19.. |
|
||||
|
Tack för att det fungerar. Men vad är bästa sättet?
Den sed kommandot har bidragit i utvinna data jag vill, men jag förlorar en del av formating dvs utrymmen i ord. Det verkar som om är vad som orsakar problemet. Om jag omvandla data med hjälp av sed s' / [^ a-zA-Z0-9] / / g "det får de uppgifter jag vill. Om jag konvertera med hjälp av s' / [^ a-zA-Z0-9 <>:]// g "det alltför få de uppgifter som jag vill. Men när jag omvandla data med hjälp av s' / [^ a-zA-Z0-9 <>:] / / g "som när jag drabbats av problemet. Så är det ett sätt att subsituting utrymmet med några tecken extarct de uppgifter jag är intresserad av och sedan konvertera tecken tillbaka till rymden?
|
|
||||
|
Det bör fungerar med utrymmen, också prova att utesluta TAB inom parentes. För att få en TAB första tryck <Ctr>-V och sedan tabbtangenten.
Om du vill konvertera utrymmet första till en annan karaktär vara säker på att denna karaktär får inte i filen. Ett exempel för att omvandla utrymmet till ett understreck och tillbaka till en plats: Kod:
sed -e 's/ /_/g' file -e 's/[^a-zA-Z0-9_]//g' -e 's/_/ /g' |