Comando tr de Linux
Referencia completa de comandos de Linux
El comando tr de Linux se utiliza para convertir o eliminar caracteres en archivos.
El comando tr lee datos desde el dispositivo de entrada estándar, después de la transliteración de cadenas, envía el resultado al dispositivo de salida estándar.
Sintaxis
tr [-cdst][--help][--version][第一字符集][第二字符集] tr [OPTION]…SET1[SET2]
Descripción de parámetros:
- -c, --complement: selección inversa de caracteres. Es decir, la parte que coincide con SET1 no se procesa, y la parte restante que no coincide se convierte.
- -d, --delete: elimina los caracteres especificados.
- -s, --squeeze-repeats: reduce los caracteres repetidos consecutivos a un solo carácter especificado.
- -t, --truncate-set1: recorta el rango especificado de SET1 para que su longitud sea igual a la de SET2.
- --help: muestra información de uso del programa.
- --version: muestra la información de versión del programa.
Rango de conjuntos de caracteres:
- \NNN: carácter con valor octal NNN (1 a 3 dígitos de valor octal).
- \\ barra invertida
- \a Ctrl-G timbre
- \b Ctrl-H retroceso
- \f Ctrl-L avance de página
- \n Ctrl-J nueva línea
- \r Ctrl-M retorno de carro
- \t Ctrl-I tecla Tab
- \v Ctrl-X tabulador horizontal
- CHAR1-CHAR2: especifica el rango de caracteres desde CHAR1 hasta CHAR2. La especificación del rango se basa en el orden del código ASCII, solo puede ser de menor a mayor, no de mayor a menor.
- [CHAR*]: Esta es una configuración exclusiva de SET2, su función es repetir el carácter especificado hasta que tenga la misma longitud que SET1.
- [CHAR*REPEAT]: Esta también es una configuración exclusiva de SET2, su función es repetir el carácter especificado hasta alcanzar el número de veces REPEAT (el número REPEAT se calcula en octal, comenzando con 0).
- [:alnum:]: todos los caracteres alfabéticos y dígitos.
- [:alpha:]: todos los caracteres alfabéticos.
- [:blank:]: todos los espacios en blanco horizontales.
- [:cntrl:]: todos los caracteres de control.
- [:digit:]: todos los dígitos.
- [:graph:]: todos los caracteres imprimibles (sin incluir el espacio).
- [:lower:]: todas las letras minúsculas.
- [:print:]: todos los caracteres imprimibles (incluyendo el espacio).
- [:punct:]: todos los caracteres de puntuación.
- [:space:]: todos los caracteres de espacio horizontales y verticales.
- [:upper:]: todas las letras mayúsculas.
- [:xdigit:]: todos los dígitos hexadecimales.
- [=CHAR=]: todos los caracteres que coinciden con el especificado (CHAR dentro de los signos igual representa el carácter que puedes personalizar).
Ejemplos
Para convertir todas las letras minúsculas del archivo testfile en mayúsculas, se puede usar el siguiente comando:
cat testfile |tr a-z A-Z
El contenido del archivo testfile es el siguiente:
$ cat testfile #testfile原来的内容 Linux networks are becoming more and more common, but scurity is often an overlooked issue. Unfortunately, in today’s environment all networks are potential hacker targets, fro0m tp-secret military research networks to small home LANs. Linux Network Securty focuses on securing Linux in a networked environment, where the security of the entire network needs to be considered rather than just isolated machines. It uses a mix of theory and practicl techniques to teach administrators how to install and use security applications, as well as how the applcations work and why they are necesary.
Después de usar el comando tr para la conversión de mayúsculas y minúsculas, se obtiene el siguiente resultado:
$ cat testfile | tr a-z A-Z #转换后的输出 LINUX NETWORKS ARE BECOMING MORE AND MORE COMMON, BUT SCURITY IS OFTEN AN OVERLOOKED ISSUE. UNFORTUNATELY, IN TODAY’S ENVIRONMENT ALL NETWORKS ARE POTENTIAL HACKER TARGETS, FROM TP-SECRET MILITARY RESEARCH NETWORKS TO SMALL HOME LANS. LINUX NETWORK SECURTY FOCUSES ON SECURING LINUX IN A NETWORKED ENVIRONMENT, WHERE THE SECURITY OF THE ENTIRE NETWORK NEEDS TO BE CONSIDERED RATHER THAN JUST ISOLATED MACHINES. IT USES A MIX OF THEORY AND PRACTICL TECHNIQUES TO TEACH ADMINISTRATORS HOW TO INSTALL AND USE SECURITY APPLICATIONS, AS WELL AS HOW THE APPLCATIONS WORK AND WHY THEY ARE NECESARY.
La conversión de mayúsculas y minúsculas también se puede lograr mediante los parámetros [:lower][:upper]. Por ejemplo, usando el siguiente comando:
cat testfile |tr [:lower:] [:upper:]
La salida es la siguiente:
$ cat testfile | tr [:lower:] [:upper:] #转换后的输出 LINUX NETWORKS ARE BECOMING MORE AND MORE COMMON, BUT SCURITY IS OFTEN AN OVERLOOKED ISSUE. UNFORTUNATELY, IN TODAY’S ENVIRONMENT ALL NETWORKS ARE POTENTIAL HACKER TARGETS, FROM TP-SECRET MILITARY RESEARCH NETWORKS TO SMALL HOME LANS. LINUX NETWORK SECURTY FOCUSES ON SECURING LINUX IN A NETWORKED ENVIRONMENT, WHERE THE SECURITY OF THE ENTIRE NETWORK NEEDS TO BE CONSIDERED RATHER THAN JUST ISOLATED MACHINES. IT USES A MIX OF THEORY AND PRACTICL TECHNIQUES TO TEACH ADMINISTRATORS HOW TO INSTALL AND USE SECURITY APPLICATIONS, AS WELL AS HOW THE APPLCATIONS WORK AND WHY THEY ARE NECESARY.Otras extensiones