Ir al contenido principal

Cómo usar el comando rev en Linux

El comando rev de Linux invierte las cadenas de texto. Este comando puede operar en el texto proporcionado o en un archivo, y parece ser aparentemente simple. Pero al igual que muchas utilidades de la línea de comandos, su poder real se hace evidente cuando lo combinas con otros comandos.

El comando rev es una de esas sencillas utilidades de Linux que, a primera vista, parece ser una especie de rareza. Realiza una sola función: invierte cadenas. Y aparte de poder imprimir una página de ayuda rápida (-h) y mostrarle su número de versión (-V), no acepta ninguna opción de línea de comandos.

Por lo tanto, rev invierte cadenas, ¿y eso es? ¿No hay variaciones u opciones? Pues sí y no. Sí, no tiene permutaciones, pero no, eso no es todo. Este tutorial le muestra cómo combinarlo para operaciones poderosas.

Cuando usa rev como un bloque de construcción en secuencias de comandos más complicadas, realmente comienza a mostrar su valor. rev es uno de un grupo de comandos (como tac y yes) que son facilitadores. Es más fácil apreciar su utilidad cuando ve cómo hacen más eficiente el uso de otros comandos.

Uso del comando rev

Utilizado en la línea de comandos sin otros parámetros, rev toma cualquier entrada escrita, la invierte y luego la imprime en la ventana del terminal. Sigue haciendo esto hasta que presionas Ctrl + C para salir.

 rev 

Si escribes un texto y presionas Enter, aparece rev imprima la cadena a la inversa, a menos que le proporcione un palíndromo, por supuesto.

Pasando texto a rev

Puede usar echo para canalizar texto a rev.

 echo uno dos tres | rev 

También puede usar rev para revertir el contenido de un archivo completo de texto, línea por línea. En este ejemplo, tenemos un archivo que contiene una lista de nombres de archivos. El archivo se llama "filelist.txt".

 rev filelist.txt 

Cada línea se lee del archivo, se invierte y luego se imprime en la ventana de la terminal.

Combinando rev con otros comandos

Aquí hay un ejemplo que usa el canal de entrada que llama a rev dos veces.

Este comando elimina el último carácter fuera de la cadena de texto. Esto podría ser útil para eliminar la puntuación. Necesitamos usar el comando de corte para quitar el carácter.

 echo 'Quitar puntuación.' | rev | corte -c 2- | rev 

Vamos a dividirlo.

  • echo envía la cadena a la primera llamada a rev.
  • rev invierte la cadena y la canaliza en corte.
  • La opción -c (caracteres) le dice a cortar que devuelva una secuencia de caracteres de la cadena.
  • La opción 2 le dice a cortar a regresar el rango de caracteres desde el carácter dos hasta el final de la línea. Si se proporcionara un segundo número, como 2-5, el rango sería de dos a cinco caracteres. Ningún segundo número significa "hasta el final de la cadena".
  • La cadena invertida, menos su primer carácter, se pasa a rev, lo que invierte la cadena, por lo que vuelve a su orden original.

Debido a que recortamos el primer carácter de la cadena invertida, recortamos el último carácter de la cadena original. Sí, puedes hacer esto con sed o awk, pero esta es una sintaxis más sencilla.

Separando la última palabra

Podemos usar un truco similar para devolver la última palabra de la línea .

El comando es similar al último: una vez más, usa rev dos veces. Las diferencias se encuentran en la forma en que se usa el comando de corte para seleccionar partes del texto.

 echo 'Separar la última palabra' | rev | corte -d '' -f1 | rev 

Aquí está el desglose del comando:

  • echo envía la cadena a la primera llamada a rev.
  • rev invierte la cadena y la canaliza en corte.
  • La opción -d '' (delimitador) le dice a cortar que devuelva una secuencia de caracteres delimitados por un espacio.
  • La opción -f1 dice cortar para devolver la primera sección de la cadena que no contiene el delimitador. En otras palabras, la primera parte de la oración hasta el primer espacio.
  • La primera palabra invertida se pasa a rev, lo que invierte la cadena, por lo que vuelve a su orden original.

Debido a que extrajimos la primera palabra de la cadena invertida, recortamos la última palabra de la cadena original. La última palabra de la oración fue "word" y está impresa para nosotros.

Recorte de contenido de archivos

Supongamos que tenemos un archivo que contiene una lista de nombres de archivos, y los nombres de los archivos están entre comillas. Queremos eliminar las comillas de los nombres de archivo.

Veamos el archivo:

 less filelist.txt 

El contenido del archivo se muestra en menos.

Podemos eliminar la puntuación de ambos extremos de cada línea con el siguiente comando. Este comando usa tanto rev y cortar dos veces.

 rev filelist.txt | corte -c 2- | rev | cut -c 2 - 

Los nombres de archivo se muestran para nosotros sin las comillas.

El comando se descompone así:

  • rev invierte las líneas en el archivo y las canaliza para cortarlas.
  • La opción -c (caracteres) le dice a cortar que devuelva una secuencia de caracteres de cada uno línea.
  • La opción 2 le dice a cut que devuelva el rango de caracteres desde el carácter dos hasta el final de cada línea.
  • Las cadenas invertidas, menos sus primeros caracteres, se pasan a rev.
  • rev invierte las cadenas, por lo que están de vuelta a su orden original. Se canalizan al corte por segunda vez.
  • La opción -c (caracteres) le indica a cortar que devuelva una secuencia de caracteres de cada cadena.
  • La opción 2 le dice a cortar a devuelve el rango de caracteres desde el carácter dos hasta el final de cada línea. Esto "salta sobre" la comilla inicial, que es el carácter uno en cada línea.

Un montón de tuberías

Aquí hay un comando que devuelve una lista ordenada de cada Extensión de archivo en el directorio actual. Utiliza cinco comandos de Linux distintos.

 ls | rev | corte -d '.' -f1 | rev | ordenar uniq 

El proceso es sencillo:

  • ls muestra los archivos en el directorio actual. Estos se canalizan a rev.
  • rev invierte los nombres de archivo y los canaliza para cortarlos.
  • cut devuelve la primera parte de cada nombre de archivo hasta un delimitador. El d'.' le dice a cortar que use el período "." como delimitador. La parte de los nombres de archivo invertidos hasta el primer período son las extensiones de archivo. Estos se canalizan en rev.
  • rev invierte las extensiones de archivo en su orden original. Se canalizan en ordenación.
  • ordena las extensiones de archivo y canaliza los resultados en uniq.
  • uniq devuelve una lista única para cada tipo de extensión de archivo única. Tenga en cuenta que si no hay una extensión de archivo (como para el makefile, y los directorios Help y gc_help), aparece el nombre completo del archivo.

Para darle un toque final, agregue -c (contar) opción de línea de comando para el comando uniq.

 ls | rev | corte -d '.' -f1 | rev | ordenar uniq -c 

Ahora obtenemos una lista ordenada de los diferentes tipos de archivos en el directorio actual con un recuento de cada uno.

Eso es bastante ingenioso one-liner!

drawroF og ot drawkcaB gnioG

A veces hay que retroceder para avanzar. Y, por lo general, avanzas más rápido como parte de un equipo.

Agrega revoluciones a tu repertorio de comandos para ir a, y pronto lo usarás para simplificar las secuencias de comandos complicadas.

Fuente: How to Geek

Comentarios

Entradas populares de este blog

Cómo usar el comando Echo en Linux

El comando echo es perfecto para escribir texto formateado en la ventana del terminal.Y no tiene que ser texto estático. Puede incluir variables de shell, nombres de archivo y directorios. También puede redirigir echo para crear archivos de texto y archivos de registro. Siga esta sencilla guía para descubrir cómo. Echo repite lo que le dice que repita A Zeus le gustaba abandonar el Olimpo para asociarse con hermosas ninfas. En un viaje, le dijo a una ninfa de la montaña llamada Echo que matara a su esposa, Hera, si ella lo seguía. Hera vino a buscar a Zeus, y Echo hizo todo lo que pudo para mantener a Hera en conversación. Finalmente, Hera perdió los estribos y maldijo al pobre Echo para que solo repitiera las últimas palabras que alguien más había dicho. Lo que Hera le hizo a Zeus cuando lo alcanzó es la suposición de nadie. Y eso, más o menos, es mucho eco en la vida. Repite lo que se le ha dicho que repita. Esa es una función simple, pero vit...

El loco 100W de carga rápida de Xiaomi hará su debut en los teléfonos inteligentes el próximo año

La tecnología de carga rápida no es exactamente nueva, pero como algunos de ustedes recordarán, a principios de este año, Xiaomi eliminó su tecnología de carga rápida Super Charge Turbo que ofrecía velocidades de hasta 100W. Lo que esto significa es que, en base a una batería de 4,000 mAh, solo tomaría 17 minutos llenarla. Publicidad Para aquellospreguntándose cuándo podríamos ver cómo la tecnología llega a los teléfonos inteligentes, le agradará saber que durante la Conferencia de Desarrolladores de Xiaomi, la compañía ha insinuado que llegará en 2020. La compañía también detalló algunos de loscaracterísticas de la tecnología de carga rápida. Esto incluye cómo el cargador contará con una bomba de carga de alto voltaje y una arquitectura de batería de doble celda. También habrá varias características de seguridad incorporadas, con Xiaomi afirmando que habrá 9 capas de protección. También habrá una MCU independiente que controla la carga, y también uti...

Cómo conservar tu calabaza tallada para Halloween

Si toma en serio su tallado de calabaza, hay una buena posibilidad de que desee asegurarse de que su obra maestra en calabaza dure el mayor tiempo posible. Aquí le mostramos cómo hacerlo. Cuando trabaja con una calabaza como lienzo, no tiene el beneficio de material inerte otiempo de tu lado. Desde el momento en que arrancas la vieja calabaza de la parra en el huerto de calabazas, tu amigo naranja se dirige a la gran pila de compost. Pero con un poco de creatividad (y sobre todo trabajo extra) puede hacer que su obra maestra de Halloween dure el mayor tiempo posible. Echemos un vistazo a todas las formas en que puede extender su jack-o & #8217; -linterna sonrisa. Tallar cerca de Halloween Oye, lo tenemos — estás muy entusiasmado con Halloween y no puedes esperar para obtenertallado. Pero cuantos menos días su calabaza esté tallada y expuesta a los elementos, más fresca se verá en Halloween. Si desea omitir todos los demás pasos, espere par...