![]() |
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 |
| Partiellt Begäran kommer ... vänligen hjälp | pa.chidhambaram | IP Nätverk | 0 | 02-05-2008 11:19 |
| Kan ett shell script dra det första ordet (eller n-te ord) av varje rad i en textfil? | knepig | Shell-programmering och Skript | 5 | 08-17-2006 07:29 |
| vsftpd döljer delvis inlagda | jhod22 | Linux | 3 | 07-08-2006 05:49 |
| Grep alla filer som matchar delanbudsinfordran filename | mharley | Shell-programmering och Skript | 3 | 06-08-2005 03:17 |
| Intresserad av partiell kommandot produktion. | videsh77 | UNIX for Dummies Frågor & Svar | 1 | 12-15-2004 10:35 |
![]() |
|
|
LinkBack | Thread Tools | Sök i denna tråd | Rate Thread | Visningslägen |
|
|
|
||||
|
partiell ord ersätts med hjälp sed
Exempel på innehållet i ett ärende:
001FILE 002FILE 003FILE 099FILE 111FILE Är det möjligt att söka efter [000-111] FILE och fortfarande hålla antalet del av resultatet i takt? Antalet del är en föränderlig variabel men FILE del förblir densamma. Jag vill söka efter alla [000-111] FILE och rymden dem till "001 FILE" "002 FILE" etc. Om jag använder sed 's / [000-111] FILE / & / g "Det kommer i princip ersätta med samma variabel som hittats i sökningen. Jag vet hur de ska söka efter den rörliga men vet inte hur man kan hålla en del av resultatet. Snittet funktion skulle vara trevligt men jag kan inte tycks kunna kalla det in genom sed. Söka efter filer och lägger till en plats är inget alternativ, eftersom vissa av de övriga innehållet har samma namn och kan inte ske. Några idéer? |
|
||||
|
Tack, men den här filen har andra numrerade variabler också så jag kan inte söka efter nummer ensamma eller tecken ensam. Jag måste kunna söka efter 001FILE som helhet och sedan dela upp produktionen till 001 FILE.
På en annan not, det behöver inte vara sed. Jag jobbar på Sun Solaris 10, så som allt som finns tillgängligt som standard kommer att fungera också. Några andra idéer? |
|
||||
|
Inte säker på att jag har full förståelse för kraven, men prova den här varianten:
Kod:
sed -e '/^[0-1][0-9][0-9]FILE/s/^[0-1][0-9][0-9]/& /' file |
|
||||
|
Citat:
Hej. Jag försökte att hålla frågan enkel men jag antar att jag inte längre så här är det faktiska data. Kod:
TRUE 6.8785794488e-05 0.000 0.000 FALSE 6.8785794488e-05 0.000 0.000TRUE 1 FALSE 1 TRUE TRUE 1.8093516870e-02 0.999 0.030 TRUE 1.8093255236e-02 0.999 0.057TRUE 1 FALSE 1 TRUE Siffrorna är inte konstant och är en föränderlig variabel. Jag måste kunna rikta bara rader som innehåller [0-1]. [0-9] [0-9] [0-9] SANT och sätta ett mellanslag / tab för att separera och det sanna. Tack. |