![]() |
|
|
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 |
| behöver för att söka text och produktion tidigare linjer | grinds | Shell-programmering och Skript | 8 | 05-07-2008 10:31 |
| Parse genom en textfil och output många | sophiadun | UNIX for Dummies Frågor & Svar | 14 | 02-20-2008 06:08 |
| execl () + omdirigera produktion till textfiler | JamesGoh | High Level Programming | 5 | 02-18-2008 05:17 |
| Söka och extrahera text från produktionen | sjday | Shell-programmering och Skript | 3 | 12-07-2007 04:12 |
| Extrahera text i 2 kolumner i utdatafilen. | Danska Shakil | Shell-programmering och Skript | 2 | 10-19-2007 11:03 |
![]() |
|
|
LinkBack | Thread Tools | Sök i denna tråd | Rate Thread | Visningslägen |
|
|
|
||||
|
texten i mellan
Hur kan jag utgångsenergi antalet 2641569270623 från en text fil som heter checkpoint.txt som är en linje-fil (som genereras av en matematik siktningen program) som ser ut som:
pmin \u003d 2641569270623, factor_count \u003d 8, cpu_secs \u003d 1705.793, frac_done \u003d 0.002592, elapsed_secs \u003d 1710.844 Jag försökte sed -n "/ pmin \u003d/,/, faktor / p" checkpoint.txt | sed "$ D" som ouputs ingenting och sed -n "/ pmin \u003d/,/, faktor / p" checkpoint.txt som produktionen hela linjen |
|
||||
|
är det möjligt att använda denna produktion för att ersätta text från en annan fil i ett kommando?
dvs ersätta "720" i linje 1 i en annan fil med text comtaining "siktade på 720" med 2641569270623 vi extraherade från den ursprungliga filen? Senast redigerad av Raffi; 04-28-2008 vid 07:48.. |
|
||||
|
Kod:
sed -e 's/.*pmin=/s%Sieved to [0-9]*%Sieved to /;s/,factor.*/%/' checkpoint.txt | sed -f - otherfile Om din sed kommer inte att göra "-f -" du måste spara till en temporär fil. En upprepning av "siktade på" kan undvikas, men finns kvar som en övning. |
|
||||
|
Intervall i sed är varierar hela linjer - / pmin \u003d/,/, faktor / medel skriva ut varje rad som börjar med en rad som innehåller "pmin \u003d" genom en annan linje som innehåller "faktor" (och börjar om igen om ett efterföljande rad matchar "pmin \u003d "igen). Du kan göra Kod:
sed -e 's/.*pmin=//;s/,factor.*//' checkpoint.txt som kommer att ersätta från start i linje med "pmin \u003d" med tom rad och dito från "faktor" till slutet av raden. Resultatet är tryckt oavsett om de är tomma eller inte. |
![]() |
| Komihåglista |
| Taggar |
| regex, reguljära uttryck |
| Thread Tools | Sök i denna tråd |
| Visningslägen | Betygsätt denna tråd |
|
|