![]() |
|
|
google unix.com
|
|||||||
| Forum | Registrati | Regole Forum | Collegamenti | Album | FAQ | Members List | Calendario | Ricerca | Today's Posts | Mark Forums Read |
| Shell scripting e di programmazione Pubblica domande su KSH, CSH, SH, Bash, Perl, PHP, sed, awk e da altri script di shell e linguaggi di scripting shell qui. |
Più di UNIX e Linux Forum Argomenti potreste trovare utili
|
||||
| Filo | Thread Starter | Forum | Risposte | Ultimo Post |
| sed query | gopsman | Shell scripting e di programmazione | 4 | 02-03-2009 02:41 AM |
| E nella query SQL | Lindarella | Shell scripting e di programmazione | 3 | 10-09-2006 05:43 PM |
| Query In awk | raguramtgr | UNIX for Dummies Domande & Risposte | 1 | 08-27-2004 12:00 PM |
| RPM Query | silvaman | UNIX e avanzata per utenti esperti | 1 | 08-15-2003 08:56 AM |
![]() |
|
|
LinkBack | Thread Tools | Cerca in questo Thread | Rate Thread | Modalità di visualizzazione |
|
|
|
||||
|
sed query
Ho una serie di cartelle / temp / a / temp / b / temp / c
In cartelle a, b, c, ho file a1.txt ... ... .... a20.txt b1.txt ... ... .... b40.txt & c1.txt ... ... .... c60.txt Ogni file ha lo stesso formato dei dati: -- Linea 1 AAAAA aaaa Linea 2 BBB bbbbbb Linea 3 CCCC cccccc Etc etc Ho bisogno di scrivere una sed script che si passano in rassegna tutti i file e riformattare i dati in tal modo: -- Linea 1 AAAAA aaaa Linea 2 BBB Linea 3 X bbbbbb Linea 4 CCCC cccccc Etc etc Quindi ho bisogno di inserire un CR / LF in linea 2 posizione 4, creare una nuova linea 3 con un testo (X) e il valore di ciò che è stato a destra del precedente Linea 2 (bbbbbb) e spostare i restanti linee di una riga verso il basso. Chiunque può aiutare per favore? Non so sed molto bene, e non a tutti i awk. |
|
||||
|
sed soluzione
Grazie Anbu23
Quando ho inviato ieri, ho semplificato il mio problema, pensando che ho potuto seguire la tua logica, e si applicano al mio problema. In realtà, è la linea 5 della posizione 32, prima che il CR / LF è quello di essere inseriti. La nuova linea 6 conterrà testo fisso da posizione 1 a 31 compreso, (X) e la posizione da 32 a 34 dalla linea 5 sarà scesa giù per le stesse posizioni sulla linea 6. Ho provato sed "5 s / \ (... \). \ (.* \) / \ 1 \ \ X \ 2 / "$ file> tmp ma questo ancora versato dopo 3 caratteri. Ho provato sed "5 s / \ (............................. \). \ (.* \) / \ 1 \ \ X \ 2 / "$ file> tmp ma è un errore di sintassi. La speranza di poter contribuire ulteriormente. Grazie |
|
||||
|
In precedenza è stato detto che dopo pochi caratteri in qualche linea deve essere spostato alla prossima linea con X. Ma ora si sta dicendo che avete bisogno di carattere iniziale e X e caratteri rimanenti in una nuova line.I non sono in grado di ottenere.
Potete darmi esempio? |
|
||||
|
sed esempio
Hi Anbu23
ingresso Ref: 12345678 ^ M Rapporto Data: 28-mag-2006 ^ M Debit A / c: 54321235 - abcdef ^ M Cliente: 100210547 - abcdef ^ M Importo addebito: 9999999999,00 USD ^ M Descrizione: filo Wxxxxxx ^ M ^ M Exchange Rate: 1,00000 ^ M etc etc deve trasformarsi in Ref: 12345678 ^ M Rapporto Data: 28-mag-2006 ^ M Debit A / c: 54321235 - abcdef ^ M Cliente: 100210547 - abcdef ^ M Importo addebito: 9999999999,00 ^ M xxxxxxxxxxxxxxxxxxxxxxxxxxxxxx USD ^ M Descrizione: filo Wxxxxxx ^ M ^ M Exchange Rate: 1,00000 ^ M etc etc taglio & incolla ha compensato il display di cui sopra, ma la mia prima linea 5 posizione 31 sono esatte. La preghiamo inoltre di notare che ci sono un sacco di segnalazioni di ogni file, e tutti devono essere riformattato. Molte grazie di nuovo Fare apprezzare il vostro sostegno. |
![]() |
| Segnalibri |
| Thread Tools | Cerca in questo Thread |
| Modalità di visualizzazione | Vota questo thread |
|
|