![]() |
Ciao e benvenuto da parte degli Stati Uniti al UNIX e Linux Forum! Grazie per la visita ed unirsi alla nostra Comunità Globale.
|
|
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 |
| sostituzione più righe con una singola linea | siba.s.nayak | Shell scripting e di programmazione | 3 | 05-28-2008 03:43 AM |
| utilizzando tr a mettere più linee di produzione in una riga | otes4 | Shell scripting e di programmazione | 3 | 02-18-2008 11:30 AM |
| Concatenare più righe di una linea se corrisponde modello | phixsius | Shell scripting e di programmazione | 13 | 01-24-2008 11:02 PM |
| Spalato un enorme linea in più di 120 caratteri linee con sed? | jerome_1664 | Shell scripting e di programmazione | 2 | 08-17-2006 01:03 PM |
| Dividere una sola riga in più linee | thanuman | Shell scripting e di programmazione | 4 | 02-23-2005 04:56 AM |
|
|
LinkBack | Thread Tools | Cerca in questo Thread | Rate Thread | Modalità di visualizzazione |
|
||||
|
Hi Guys,
Ho bisogno di un aiuto. Sono abbastanza nuovo livello di programmazione della shell. Stavo cercando di dividere le linee lunghe a un più righe con alcune condizioni. I goggle per il codice e trovato alcuni frammenti e cercò di modifica, ma ho avuto alcuni problemi strani troppo. Ho dividere le righe, se la linea è più lungo di 120 caratteri, poi sono costretto a separarla con l'aggiunta di "\" alla fine di circa 120 caratteri. Nota: si può solo separati alla delimitazione posizioni come lo spazio o una virgola. Ed ecco il codice per questo #! / bin / sh awk '( if (length ($ 0)> 120) ( str \u003d $ 0; i \u003d 0; while (length (str)> 120) ( j \u003d 0; for (m \u003d 1; m <\u003d 120; m + +) ( lettera \u003d substr ($ 0, i + m, 1); # printf ( "% s \ n", letter); if (lettera !\u003d",") allora altro ( j \u003d m; # Printf ( "% s \ n", substr ($ 0, i +1, j)); ) fi if (lettera! \u003d "") allora altro (J \u003d m;) fi ) printf ( "% s / \ n", substr ($ 0, i +1, j)); i + \u003d j; str \u003d substr ($ 0, i, length ($ 0)); ) if (length (str)> 1) printf ( "% s \ n", substr (str, 2, length (str))); ) altro ( print $ 0 ) ) 'Myfile.txt Ma il mio problema era che la condizione di cui sopra sta lavorando, se messi in ordine inviato. Se ho usato per lavorare con i pari e mettere l'espressione dopo allora non funziona correttamente. Io non ero in grado di utilizzare l'espressione o per la virgola e lo spazio Ho anche bisogno del programma che può ripristinare la stessa operazione. Ho anche letto su qualche tutorial sed ma ha trovato la sua piuttosto confusa per i nuovi utenti ![]() ![]() |
| Segnalibri |
| Thread Tools | Cerca in questo Thread |
| Modalità di visualizzazione | Vota questo thread |
|
|