|
|
|
|
Google Site
|
|||||||
| Forum | Registrati | Blog | Man Pages | Regole Forum | Collegamenti | Album | FAQ | Utenti | 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. |
![]() |
|
|
Thread Tools | Cerca in questo Thread | Rate Thread | Modalità di visualizzazione |
|
|||
|
Sostituire una cifra da due cifre usando sed
Folks,
C'è un modo semplice per sostituire un cifra da due cifre utilizzando sed. Esempio, mydigit1918_2006_8_8_lag1.csv dovrebbe essere mydigit1918_2006_08_08_lag01.csv. Ho cercato in questo modo, ma non funziona. echo mydigit1989_2006_8_8_lag1.csv |sed 's / [[: digit:]] / 0 [[: digit :]]/' Grazie, |
| Sponsored Links |
|
|
|
|||
|
Apparentemente la tua sed non capire il [[: digit:]] categoria, ma se lo facessero, che andrebbe a sostituire la prima cifra - il 1 nel 1989 - e lo sostituisce con una stringa "[[: digit :]]". È necessario fornire più contesto e, apparentemente, utilizzare il vecchio stile [0-9] per far costruire una cifra.
Codice:
echo mydigit1989_2006_8_8_lag1.csv | sed 's/_\([0-9]\)/_0\1/g' L'espressione regolare corrisponde a una sola cifra dopo un carattere di sottolineatura, e la cattura in un backreference in modo che tu possa fare riferimento ad essa come "\ 1" nella parte di sostituzione. (Questo è ciò che il backslash parentesi sono. Vostri sed potrebbe desiderare senza backslash, o qualcosa del genere.) La /g alla fine dice di farlo per un numero di volte possibile ( "a livello mondiale"), non solo la prima occorrenza. |
|
|||
|
Sguardi semplice, ma ..
Citazione:
Guarda il suo approccio semplice, ma non del tutto giusto. Shamrock's metodo qui di seguito guarda a lungo, ma mi dà una risposta giusta. |
|
|||
|
regexp può essere potente, ma può arrivare confusione per i deboli di cuore
Codice:
# echo "mydigit1918_2006_08_08_lag01.csv" | awk -F"_" '{$3+=0;$4+=0}1' OFS="_"
mydigit1918_2006_8_8_lag01.csv
|
| Sponsored Links |
|
|
![]() |
| Segnalibri |
| Thread Tools | Cerca in questo Thread |
| Modalità di visualizzazione | Vota questo thread |
|
|
Più di UNIX e Linux Forum Argomenti potreste trovare utili
|
||||
| Filo | Thread Starter | Forum | Risposte | Ultimo Post |
| Come convertire un 2 cifre a 4 cifre | jisha | Shell scripting e di programmazione | 6 | 04-23-2008 07:38 AM |
| perché "expr" $ () REPLICA ": '\ ([1-9] [[: digit:]] * \)" può capire se si tratta di una cifra? | sleepy_11 | Shell scripting e di programmazione | 6 | 08-08-2007 04:51 AM |
| Estrazione 10 cifre dal file txt | c19h28O2 | Shell scripting e di programmazione | 9 | 08-07-2006 07:06 PM |
| conversione colonna 6 cifre date per il formato | Gerry405 | UNIX for Dummies Domande & Risposte | 15 | 10-06-2005 07:42 AM |
| calcolare una cifra di controllo | jim9418 | UNIX for Dummies Domande & Risposte | 1 | 02-16-2005 03:14 PM |