2009-04-23 14 views

risposta

3

eseguirlo tramite tr?

Sto scherzando. È possibile utilizzare la trasformazione y/// per apportare modifiche alle maiuscole/minuscole. Non è terribilmente conveniente, ma è funzionale. Se la tua trasformazione diventa troppo complessa, potresti prendere in considerazione l'escalation su perl.

1

So che questa è una domanda sed volevo solo sottolineare che ci sono diversi modi per fare quella funzione. awk è uno strumento che è stato creato per le dispute di testo e in alcuni casi è più facile da usare. A mio parere questo è uno di questi momenti:

#!/bin/sh 
INFO="This is a test" 
ALLCAPS=`echo $INFO | awk '{print toupper($0)}'` 
echo $ALLCAPS 

rendimenti: questa è una prova

13

circondano la vostra pattern matching tra parentesi vale a dire: \ (modello \) e quindi utilizzare \ U \ 1 come la sostituzione testo. \ 1 è il modello corrispondente e \ U forza maiuscole.

echo abcdef | sed -e 's/\(abc\)/\U\1/' 
+2

[Sezione pertinente della documentazione sed] (http://www.gnu.org/software/sed/manual/sed.html#The-_0022s_0022-Command). –

+1

Questo mi ha aiutato con una parte di testo parzialmente inferiore a una riga di testo, in cui i due punti segnavano l'inizio del testo da ridimensionare: 's # \ (^. *: \) \ (. * \) # \ 1 \ L \ 2 # ' –

Problemi correlati