2012-12-24 12 views

risposta

61

Prova questa:

awk '{ print toupper($0) }' <<< "your string" 

utilizzo di un file:

awk '{ print toupper($0) }' yourfile.txt 
+4

prendere atto, caratteri speciali non riuscirà: '' 'awk '{print toupper ($ 0)}' <<< stéphane – SvennD

+3

@SvennD Dipende dalla versione - non funziona con mawk 1.3.3, ma sembra funzionare bene con GNU Awk 4.0.1 e 4.1. 1. –

3

Qualcosa come

< yourMIXEDCASEfile.txt awk '{print toupper($0)}' > yourUPPERCASEfile.txt 
+2

UUCA http://partmaps.org/era/unix/award.html – Rubens

+2

Ok ... che ne dite di 'awk '{print toupper ($ 0)}' yourMIXEDCASEfile.txt> yourUPPERCASEfile.txt' – Silviu

+1

non sono stato io a downvote il tuo post, ma la seconda soluzione, senza catalizzatore, è il modo migliore – Rubens

19

È possibile utilizzare awk, ma tr è lo strumento migliore:

tr a-z A-Z < input 

o

tr [:lower:] [:upper:] < input 
+1

nota che (come di coreutils 8.23) che sarà in grado di convertire i caratteri accentuati. –

3

Prova questo:

$ echo mix23xsS | awk '{ print toupper($0) }' 
MIX23XSS 
0

Se Perl è un'opzione:

perl -ne 'print uc()' file 
  • -n anello intorno file di input, non stampare automaticamente linea
  • -e eseguire il codice perl tra virgolette
  • uc() = maiuscolo

per stampare tutte le lettere minuscole:

perl -ne 'print lc()' file 
Problemi correlati