Tr filter file command

  

Puede pensar en tr como una variante (extremadamente) simplificada de sed: puede reemplazar otro carácter por un carácter, o puede eliminar completamente algunos caracteres. También puedes usarlo para eliminar caracteres duplicados. Esto es lo que todo tr puede hacer.

Entonces, ¿por qué usar tr en lugar de sed? Por supuesto que es para hacer las cosas simples. Por ejemplo, si queremos reemplazar todas las letras que aparecen con las palabras " z " " a ", podemos usar tr az, este comando es sin duda más simple que sed -es /a /z /g, especialmente en él Cuando se utilizan en un script, las comillas son muy confusas. Además, al usar tr, puedes evitar escribir expresiones regulares molestas.

Usar tr es simple: use la notación simbólica dada en el párrafo anterior para reemplazar todos los demás caracteres que aparecen con un carácter. Cuando necesite reemplazar varios caracteres, use una notación como esta: tr abc xyz, que significa reemplazar todas las letras que aparecen con la letra "x"; a " reemplace todas las letras con las letras "y ""; b ", reemplaza todas las letras " c " con las letras " z ". El número de caracteres enumerados en estos dos grupos no tiene que ser igual.

También puede especificar un rango de caracteres. Por ejemplo, tr a-z A-Z reemplazará todas las letras minúsculas con las letras mayúsculas correspondientes (por ejemplo, <; no smoking " se convertirá a " NO SMOKING "). Esta técnica especial es útil cuando desea enfatizar una parte del texto que se edita en el editor vi. Simplemente presione la tecla Escape, luego presione:, luego escriba 2,4! Tr 'a-z' 'A-Z' y presione la tecla Retorno. Ahora, las letras de la segunda línea a la cuarta línea se convierten en letras mayúsculas.

Además, cuando alguien le envía un archivo de texto creado en una máquina Mac OS o DOS / Windows
, encontrará que tr es muy útil. Si no guarda el archivo para utilizar los saltos de línea de UNIX para indicar el formato de final de línea, deberá convertir dichos archivos al formato nativo de UNIX; de lo contrario, algunas utilidades de comando no los procesarán correctamente. El final de Mac OS finaliza con un carácter de retorno de carro y muchas herramientas de procesamiento de texto tratan este archivo como una sola línea. Para corregir este problema, puede utilizar los siguientes consejos:

Mac - > UNIX: tr '\\ r' '\\ n' < macfile > unixfile UNIX - > Mac: tr '\\ n' '\\ r '< unixfile > macfile convención de DOS /Windows de Microsoft, donde cada línea de texto termina con un carácter de retorno de carro seguido de un carácter de nueva línea. Para corregir este problema, puede usar el siguiente comando:

DOS -> UNIX: tr -d '\\ r' < dosfile > unixfile UNIX -> DOS: En este caso, necesita usar awk Porque tr no puede insertar dos caracteres para reemplazar un carácter. El comando awk que se utilizará es awk '{print $ 0 " \\ r "}' < unixfile > dosfile Además, cuando necesite realizar un trabajo de acabado sencillo en el archivo de texto (como usar tr -d '\\ t' para eliminar el sistema Para los símbolos, use tr -s '' para eliminar espacios adicionales, o use tr -d '\\ n' para combinar líneas separadas en una sola línea), necesitará usar tr. Nuevamente, puede usar todos estos comandos en vi; solo recuerde: agregue el rango de línea y el signo de exclamación (!) Que desea procesar antes del comando tr, como 1, $! Tr -d '\\ t' (signo de dólar) Se muestra en la última línea).

Copyright © Conocimiento de Windows All Rights Reserved