EDICIóN GENERAL
172 meneos
4823 clics
Manipulando texto en el terminal

Manipulando texto en el terminal

Esto de manipular texto en el terminal te puede sonar extraño, o crees que raramente lo vas a utilizar… nada mas lejos de la realidad,una de las operaciones mas habituales que haces en el terminal es cambiar el nombre o la extensión a un archivo,pero, ¿qué pasa cuando tienes que renombrar de forma masiva 10 archivos? ¿y si en lugar de ser 10 son 100 ó 1.000?…. ¿Si tienes 1.000 imágenes en formato JPEG y las quieres convertir a PNG?. En este artículo te mostraré algunas de las posibilidades que te ofrece bash para manipular texto.

| etiquetas: linux , bash , terminal , texto
¿Y no valdrá más la pena esperar al año de Linux de escritorio, que está al caer?
#1
Linux lleva en el escritorio bastante tiempo: en tus routers, televisiones, escáneres, impresoras ...
#2 Las teles es el ejemplo de como no hacer las cosas el resto muy de acuerdo en caso de routers(flasheables open wrt ), el resto por muy linux que sea el usuario no puede modificar una mierda volvemos a sistemas de código abierto cerrados limitando opciones al usuario.
Así que mas que código abierto tendríamos que hablar os abierto para que el usuario pueda customizar su trasto a sus gustos.
#13
No estábamos hablando de sistemas operativos, pero sí, se requiere.dispositivos modificables.
Lástima que Torvalds no quisiera migrar a la GPLv3.
#1 ¿Qué año pasara de moda la broma? Llevamos así casi una decada.
#8 Supongo que el año en el que finalmente se cumpla xD xD
#9
Ya se cumplió.
#9 en mi escritorio lleva exactamente 18 años. No entiendo que sigais con la broma, la verdad.
Hoy casi todo el mundo ha oido hablar de que existe alternativa a windoze. Que exista hace que todos sean los años de linux en el escritorio.
#14 15 años en mi caso. Hace unos días le compré un portátil a un familiar, con Windows 10 instalado, como no. Tras unas 20 horas para actualizarse, lento de cojones, y eso que le quité la versión de prueba del Norton.
Lo raro es que la gente siga usando Windows, que hace que ordenadores nuevos parezcan viejos.
#8 es como el negro del whatsapp.
pues está bien el artículo, había cosas que no conocía.

Los "for" de una línea en terminal son la puta ostia, rara es la semana que no he echado mano de esto para ahorrarme tropecientosmil clicks.
Jodó, vaya rollo de tecleada para renombrar archivos... Yo en el güidous uso el Advanced Renamer o similares y van de coña :-)

www.abueloinformatico.es/verprogramas.php?id=1133&nombre=Advanced
#4 A veces la "tecleada" es más rápida que el programa con Gui...aunque no lo parezca...
#5 Y además mucho más flexible, al poder, por ejemplo, renombrar y después ejecutar algún otro comando sobre el fichero, como copiarlo a otro directorio.
#4: Como todo, son opciones, a veces esos programas cubren lo que necesitas, pero otras veces... no.
#4 sabiendo usar el terminal puedes hacer de todo, no dependes de que otra persona haga un programita para cubrir cada una de tus necesidades
#11 Vale, lo bueno es que hay "programitas" para todas o casi todas las necesidades.
#12 ya, buscalo, descargalo, paga por el, o bajalo gratis, a saber de donde ha venido etc....
La terminal tiene todas las herramientas basicas para que puedas hacerlo todo componiendo una herramienta con otra, una vez que lo has hecho unas pocas veces ya puedes hacer de todo.
#15 Pues bueno, cada uno a lo suyo, pero aquí, te dejas una coma, comilla o simbolito y o no funciona o la cagas. :-)

"01 - nombre de la serie.mkv
for i in *.mkv; do j=${i^^}; mv "${j:5:-4} - S01E${j:0:2}.mkv" ; done
NOMBRE DE LA SERIE - S01E01.mkv"
#17 que va, lo corres una vez con echo en lugar de con mv, y si tiene buena pinta lo pones con mv y ya esta, tiempo total 10 segundos.
#17 al alcance de cualquiera, oiga! Ahora se lo comento a mi madre :troll:
#17 Pon la variable entre comillas siempre. Arreglado.
#17 se trata de aprender cosas utiles, si eres un vago que no quiere aprender entonces mejor bajate el vaporware de turno xD
#12 Ni de coña.
Solo puede decir eso alguien que no conozca lo que es posible hacer en consola en los *nix.
#12 Esa es la idea... y si no lo hay es que es una "necesidad tonta". Filosofía Windows...
#12 Tú no has oído hablar de los pipes, ¿Verdad?
Da gusto cuando puedes combinar los programas de la forma que a tí te dé la gana o escribir scripts que operen dichos programas por tí. La interoperabilidad y automatización y la capacidad de reinvención con bash dan mil vueltas a los tediosos clicks.
Por eso Windows ahora quiere que todo se opere desde Powershell, solo que se han olvidado de contarnos cómo funciona.
#41 Eso se lo dice a mi abuelo de 67 años y te envía a la mierda a ti, a tus pipes y a tus bashes... Que él con el ratón se maneja de futa madre, dice. :->
#44 Ya, pero yo si quiero configurar un backup automático solo necesito cron, tar y quince minutos para buscar cómo se hace si no sé hacerlo. Tu abuelo necesita entrar en páginas de comparativas de software y bajarse algún adware/malware potencial para probar sin la certeza de que vaya a funcionar.
Y no quiero decir que las GUI no sirvan para nada, prácticamente todos los informáticos las usan la mayor parte del tiempo. Sólo que hay tareas que se pueden hacer mejor, más rápido y de forma más controlada en terminal que en interfaz gráfica. Y otras cosas directamente no se pueden hacer.
#44 No se el tuyo, pero mi abuelo de 67 años se siente igual de confundido con la linea de comandos que con el raton, para eso tiene al nieto que le resuelve la vida. Ahora, personalmente me da pereza aprender como funciona una solucion que a priori considero inferior como debe ser una interfaz grafica limitada. Tal vez lo tuyo tambien sea pereza y esta bien; no hace falta que te escudes en tu abuelo para hacer el vagales.
#4 ahora intenta sacar un fotograma todos esos videos y luego formar una imagen con todos esos fotogramas en un solo jpg sin solaparlos.
#19 Irfanview para windows. "Save selected thumbnails as..."

Free. De nada.
#50 Y luego haz un composite de 200 imágenes para hacer un collage :-D
#54 No, genera un único archivo con las miniaturas de los vídeos/imágenes seleccionados. En vuestra soberbia os habéis quedado anclados en los comandos a mano.
#55 Ya, pero no puedes elegir por regex 100 archivos de 400, por ejemplo. A mano acabas con la muñeca dolorida.
Y eso paga factura (RSI). :-)
#56 Sleccionar muchos elementos de una lista es de lo más fácil; prueba a seleccionar combinando mayúsculas y control + el clic. También puedes ordenarla o incluso hacer una búsqueda. Está todo inventado, pero si a ti te parece más fácil escribir para hacerlo, es cosa tuya. A mi me parece más intuitivo "tocar" los archivos. A lo mejor volver a las pantallas negras de texto blanco es avanzar... ¡qué sé yo!
#4, para Linux también hay programas gráficos que hacen lo mismo.
#20 Pues está bien, es una ayuda para mucha gente.
#4 No puedes tener un programa para cada cosa que puedes hacer en Linux en una consola.
Da igual la cantidad de opciones que tenga el programa gráfico, jamás podrá acercarse a lo que se puede hacer en los *nix en un terminal.
#26 No, si ya sé...Eso les deberá ir muy bien a los programadores o los muy metido en el tema. Pero para la mayoría de la gente "normal" con cuatro o cinco programas "libres" bien escogidos te lo montas todo.
#30 Te montas todo lo que crees que se puede montar. Que no es ni la centésima parte de lo que se podría hacer con lo mismo en un SO de verdad.
Tu limitas tus expectativas a tus conocimientos y voluntad. Yo siempre intento nivelar mi voluntad y conocimientos al nivel de mis expectativas.
#48 No seas soberbio; no descartes que alguien que maneje bien cuatro programas consiga con un poco de picardía mejores resultados en una tarea que alguien con gran experiencia en scripts y comandos.

Al final se trata de una manera u otra de dar órdenes.
#52 "consiga con un poco de picardía mejores resultados en una tarea que alguien con gran experiencia en scripts y comandos."
La picardía no hace milagros si no hay conocimiento.
En el trabajo tengo 3 administradores de Windows, profesionales como la copa de un pino y con una experiencia tremenda.
Hay montones de cosas que yo (o cualquiera con conocimientos) hago todos los días con Linux y que es imposible de hacer en Windows incluso para administradores con años de…   » ver todo el comentario
#4 Y con eso puedes cambiar de carpeta las fotos según su fecha en los metadatos o renombrar ficheros dependiendo de qué cintenido tengan? por ejemplo, los que hablen de fútbol....
335 #34 Tranqui, aquí cada uno tira para lo que le vayan bien y ya está... No me te subas a la parra. :-)
#34 Sí, claro que puedes.

Si quieres tirar de fecha, o coordenadas o algo así, sin problema, metes exiftool por medio del comando con un if y listos.

Si quieres tirar de metadatos o etiquetas usando el archivo sidecar ese que generan muchos softwares de edición/catálogo, sin problema también.
#4 No te puedes conectar a todos los servidores con un fluido RDP en alta calidad...
#4 ...además de que hacer for... Do... lleva implementado en ms-dos (ventana de comandos en Windows) desde hace 25 años.

Lo que más miedo me da de la entradilla es que mete en el mismo párrafo renombrar archivos con cambiar de formato. La de gente que "convierte" un documento Word a PDF renombrando la extensión... :clap:
#4 Yo en windows usaba el lupas rename, que lo guardo como oro en paño, aunque ya no se si funcionara en windows 10 y demases, y en linux en Plasma 5 uso el renombrador por defecto de Plasma que para lo que renombro me va de fabula aunque he probado krename y no esta mal, aunque no consigo que me pille [ y ] en los nombres de archivo a ver si encuentro solución
#61 Me autorespondo ya he encontrado como ponerlos
#4 en MacOS existe la opción de renombrar archivos sin necesidad de un Advanced Renamer
#69 Y en la consola de windows también.
#71 la consola de windows es el DOS, yo digo en una ventanita sin necesidad de buscar comandos. Que lo pueda hacer la abuela
La sintaxis de bash <-------------150.000 km ---------------> Yo :-(
Yo cuando descubrí awk fue cuando pasé de las hojas de cálculo
#22 awk, sed, grep, tr y cut.

Los reyes.
Edit.
#25 Extraído de ese libro? :palm:
#32 Se ve que has leído el artículo...y el libro xD
Hay miles de libros con ejemplos similares y ninguno es plagio de otro: www.google.es/search?safe=off&ei=ciaIWqznCcGLU96rvaAL&q=bash+b
#37 Sigo sin ver similitudes en los ejemplos, excepto los comandos que ,evidentemente, son los mismos...creo que no sabes de lo que hablas.
#42 sabes lo que es un troll ^^?
Aja, el apocalipsis ha llegado, pensaba que estaba flipando viendo un articulo sobre scripting en bash en la portada, pero es verdad... y sin muchos trolls... que cojo*es esta pasando??????
#29 Es el año de (GNU)Linux en el escr... en Menéame.
Me parece curioso que se use convert de la suite imagemagick, cuando mogrify sería mas adecuado para el trabajo por lotes (mogrify sustituye la original y convert mantiene el .jpg y el .png)
El uso que le aplico yo es:
mogrify -format png *.jpg
(Nótese que la sintaxis es mas comprensiva).
Por otro lado el tema de renombrar ficheros solo lo he visto necesario para renombrar las imagenes de la camara en datacion iso.
Saludos.
#60 convert hace alguna que otra desgracia a veces y la opacidad sobre cómo decide codificar y decodificar a mí me pone muy nervioso, alguna vez he salido tan quemado que ha acabado usando Gimp desde el terminal para convertir imagenes
..y ¿ para que vale en windows ?
Al fin he logrado correrme leyendo esto
comentarios cerrados

menéame