Ayuda comandos SED Linux

Li3cht

Buenas, necesito ayuda con dos enunciados que bueno, por razones un poco ilógicas, el profesor los ha dejado colgados, mañana pone el examen y no los resuelve ^'

He conseguido sacar unas cuantas, pero con estas no doy pie con bola. Supongo que es un nivel muy muy básico para los entendidos, así que espero que podáis ayudarme (agradecería un quote para darme yo cuenta :P)

a) Haz mediante un comando SED que se pongan paréntesis alrededor de todas las letras mayúsculas.

b) Pasar a mayúsculas todas las vocales

Gracias de antemano, un saludo

kassiusk1

b) Pasar a mayúsculas todas las vocales

Suponiendo que son las vocales en un fichero:

tr aeiou AEIOU fichero.txt

Si es una palabra:

echo palabra | tr aeiou AEIOU 

edit: no lo he probado que estoy escribiendo desde Windows.

1 respuesta
Li3cht

#2 No hemos dado ese formato, debería ser parecido a esto:

sed '///' fichero

Usando 'i' en el primer caso como INSERT y en el segundo supongo que 's' para sustituir.

#4 Gracias, a ver si sacamos el que queda.

kassiusk1

es sed pa los dos? Ni zorra entonces xD

#2
He buscado un rato, que no conocia el sed, y lo hace parecido:

sed 's/aeiou/AEIOU/g' fichero

Así funciona que abrí una VM que me picaba la curiosidad ya xD, a ver si miro lo del parentesis xD

edit: no funca muy bien, tiene que ser de otra forma creo.

enésimo edit:

Es así:

sed 'y/[aeiou]/[AEIOU]/' fichero 
3 respuestas
LOc0
sed 's/[A-Z]/(\0)/g'
sed 's/a/A/g' | sed 's/e/E/g' | sed 's/i/I/g' | sed 's/o/O/g' | sed 's/u/U/g'

Suerte mañana.

Salu2 ;)

1 respuesta
Li3cht

#4 #5 Muchas gracias a ambos.

#5 Porque pones un \0 en el primer sed?
Y otra cosa, intuyo que pones | en el segundo a modo de "o" no? tipo grep

1 respuesta
LOc0

#6

El \0 es el carácter que ha pillado con [A-Z]

Del segundo son comandos encadenados por pipes, pero mejor usa el de #4 con el flag /y/ que sustituye carácter-carácter (no lo conocía).

http://anaturb.net/sed.htm

Salu2 ;)

Usuarios habituales

  • LOc0
  • Li3cht
  • kassiusk1