Substr en un script
Hola, estoy intentando hacer un substring de un texto en un script, pero no me sale. Estoy utilizando "cut" pero la salida va a stdout y yo quiero que vaya a una variable. Hago lo siguiente fichero='hola.c' fichero2=fichero | cut -f 1 -d . Lo que quiero es quitar la extensión .c para luego concatenarle otra. Si lo hago en línea de comandos funciona, pero dentro del scritp como va a stdout pues no va a la variable que es lo que yo quiero. Si me podeis ayudar. Gracias -- Saludos. Miguel Angel.
On Thu, 28 Oct 2004 20:30:37 +0200, miguel angel <mdorador@tiscali.es> wrote:
Hola, estoy intentando hacer un substring de un texto en un script, pero no me sale. Estoy utilizando "cut" pero la salida va a stdout y yo quiero que vaya a una variable. Hago lo siguiente
fichero='hola.c' fichero2=fichero | cut -f 1 -d .
Lo que quiero es quitar la extensión .c para luego concatenarle otra.
Te falto la comilla inclinada --> ` Para que te evalue los comandos y ponga el resultado en fichero2 seria asi: fichero='hola.c' fichero2=`echo $fichero | cut -f 1 -d .` Espero sea eso Saludos SF.-
miguel angel escribió:
Hola, estoy intentando hacer un substring de un texto en un script, pero no me sale. Estoy utilizando "cut" pero la salida va a stdout y yo quiero que vaya a una variable. Hago lo siguiente
fichero='hola.c' fichero2=fichero | cut -f 1 -d .
Lo que quiero es quitar la extensión .c para luego concatenarle otra.
Si lo hago en línea de comandos funciona, pero dentro del scritp como va a stdout pues no va a la variable que es lo que yo quiero.
Si me podeis ayudar. Gracias
export fichero2=$(echo $fichero | cut -f1 -d".") export fiechero2=`echo $fichero | cut -f1 -d"."` Cualquiera de las dos sintaxis te sirve. Si utilizas la cremilla, esta debe ser la invertida (alt-96). Saludos LRP
Más fácil: fichero="hola.c" fichero2=`basename $fichero .c` basename <cosa> <patrón> quita de "cosa" el "patrón" del final. Peibol. Sebastian Ferro escribió:
On Thu, 28 Oct 2004 20:30:37 +0200, miguel angel <mdorador@tiscali.es> wrote:
Hola, estoy intentando hacer un substring de un texto en un script, pero no me sale. Estoy utilizando "cut" pero la salida va a stdout y yo quiero que vaya a una variable. Hago lo siguiente
fichero='hola.c' fichero2=fichero | cut -f 1 -d .
Lo que quiero es quitar la extensión .c para luego concatenarle otra.
Te falto la comilla inclinada --> ` Para que te evalue los comandos y ponga el resultado en fichero2 seria asi:
fichero='hola.c' fichero2=`echo $fichero | cut -f 1 -d .`
Espero sea eso Saludos SF.-
Hla :) El Jueves, 28 de Octubre de 2004 21:06, Luis Roa P. escribió:
miguel angel escribió:
Hola, estoy intentando hacer un substring de un texto en un script, pero no me sale. Estoy utilizando "cut" pero la salida va a stdout y yo quiero que vaya a una variable. Hago lo siguiente
fichero='hola.c' fichero2=fichero | cut -f 1 -d .
Lo que quiero es quitar la extensión .c para luego concatenarle otra.
Si lo hago en línea de comandos funciona, pero dentro del scritp como va a stdout pues no va a la variable que es lo que yo quiero.
Je, je, ... me encantan las listas de correo y el código abierto. Tienes una duda y ves que te responden diferentes personas y cada una con una solución diferente, pero igualmente correcta/útil/... Esto me recuerda una lista inglesa a la que estuve apuntado en la que una respuesta fue algo así como: gcc [aquí pego el tío el código fuente de un programa que solucionaba la duda] Es estupendo tener tantas posibilidades de hacer una misma tarea: - poder elegir la que más te convenga - aprender cosas nuevas - ver como otros aprenden ¿Por qué la gente se empeña en decir que la ventaja de Linux y el código abierto radica en el precio? Eso es una milonga (bueno, puede ser verdad), pero lo realmente importante es la libertad que te da. Vaya ... parezco "el abuelo cebolleta" ;) Me encanta, seguid con el estupendo trabajao que estáis haciendo todos !!!! Espero veros en el SIMO :D Rafa -- Rafael Grimán, Partner Services SUSE LINUX AG, Maxfeldstr. 5, D-90409 Nuernberg Phone: +34 665 808 935 Fax: +49 (0) 911 74053-575 - Email: rgriman@novell.com ------------------------------------------------------ Simply change to http://www.suse.de/es
El Sábado, 30 de Octubre de 2004 11:06, Angel Martín escribió:
Espero veros en el SIMO :D
Rafa
Me acercaré a verte. Creo que iré un par de días pero aún no sé cuales. Y de paso si me encuentro a algún compañero de la lista pues estupendo.
¿Hay algún día / hora ? en concreto para pasar por el SIMO. Yo quizá pase, si lo hago me gustaría saber si habeís acordado algun dia . SALUDOS
Hola :) El Sábado, 30 de Octubre de 2004 12:05, Lista-Suse escribió:
El Sábado, 30 de Octubre de 2004 11:06, Angel Martín escribió:
Espero veros en el SIMO :D
Rafa
Me acercaré a verte. Creo que iré un par de días pero aún no sé cuales. Y de paso si me encuentro a algún compañero de la lista pues estupendo.
¿Hay algún día / hora ? en concreto para pasar por el SIMO. Yo quizá pase, si lo hago me gustaría saber si habeís acordado algun dia .
No hay fecha ni hora fija, pero yo estaré todo el SIMO (de martes a domingo :) Rafa -- Rafael Grimán, Partner Services SUSE LINUX AG, Maxfeldstr. 5, D-90409 Nuernberg Phone: +34 665 808 935 Fax: +49 (0) 911 74053-575 - Email: rgriman@novell.com ------------------------------------------------------ Simply change to http://www.suse.de/es
On Fri, 29 Oct 2004 17:09:25 +0200, Rafa Grimán <rgriman@novell.com> wrote:
El Jueves, 28 de Octubre de 2004 21:06, Luis Roa P. escribió:
miguel angel escribió:
Hola, estoy intentando hacer un substring de un texto en un script, pero no me sale. Estoy utilizando "cut" pero la salida va a stdout y yo quiero que vaya a una variable. Hago lo siguiente
fichero='hola.c' fichero2=fichero | cut -f 1 -d .
Lo que quiero es quitar la extensión .c para luego concatenarle otra.
Si lo hago en línea de comandos funciona, pero dentro del scritp como va a stdout pues no va a la variable que es lo que yo quiero.
Je, je, ... me encantan las listas de correo y el código abierto. Tienes una duda y ves que te responden diferentes personas y cada una con una solución diferente, pero igualmente correcta/útil/...
Jaja, yo lo veo igual, lo bueno de Linux y el código abierto, es que es una gran caja de herramientas y hay tantas herramientas para utilizar y combinar, que puedes resolver problemas de mil maneras diferentes. Y siempre vas a encontrar a alguien que encontró una forma mas corta y rápida de hacer lo mismo que tu hiciste.
Siento no haber contestado antes, pero he tenido problemas con el correo. Ya me funciona, con todas las formas que me habéis comentado. Es una cosa más que he aprendido, porque no tengo mucha experiencia en Linux. Muchas gracias. El jue, 28-10-2004 a las 23:21, Peibol escribió:
Más fácil:
fichero="hola.c" fichero2=`basename $fichero .c` basename <cosa> <patrón> quita de "cosa" el "patrón" del final.
Peibol.
Sebastian Ferro escribió:
On Thu, 28 Oct 2004 20:30:37 +0200, miguel angel <mdorador@tiscali.es> wrote:
Hola, estoy intentando hacer un substring de un texto en un script, pero no me sale. Estoy utilizando "cut" pero la salida va a stdout y yo quiero que vaya a una variable. Hago lo siguiente
fichero='hola.c' fichero2=fichero | cut -f 1 -d .
Lo que quiero es quitar la extensión .c para luego concatenarle otra.
Te falto la comilla inclinada --> ` Para que te evalue los comandos y ponga el resultado en fichero2 seria asi:
fichero='hola.c' fichero2=`echo $fichero | cut -f 1 -d .`
Espero sea eso Saludos SF.-
-- Saludos.
Miguel Angel.
participants (7)
-
Angel Martín
-
Lista-Suse
-
Luis Roa P.
-
miguel angel
-
Peibol
-
Rafa Grimán
-
Sebastian Ferro