Reglamento general de los foros   •   FAQ   •   Buscar en el foro •  Registrarse | Iniciar sesión 



Portada » Foros Linux » Desarrollo » Programación


Nuevo tema Responder al tema
 [ 2 mensajes ] 
Patrocinadores

Autor
Buscar:
Mensaje

Desconectado
Forista Nuevo
Forista Nuevo

Registrado: Sab Feb 11, 2012 11:52 pm
Mensajes: 16

Nota Publicado: Mié Ago 01, 2012 5:38 am 
Arriba  
Hola, como van? bueno tengo un problemita o una idea.

lo que quiero hacer una modificación de un item por otro, de cada array y luego guardarlo o devolverlo en el sitio original, quizas se pueda hacer directamente de otra manera con exp. regulares , bueno espero sugerencias , saludos

Código:
price=( `cat /home/delkav/info-sitioweb/html/productos/autos/nuevo-focus.html | grep -oiE '([$][0-9.]{1,7})'|tr '\n' ' '` )
 price2=( $90.880 $0 $920 $925 $930 $910 $800 $712 $27.220 $962 )
 sub (){
 for item in "${price[@]}"; do
    for x in ${price2[@]}; do
      sed s/$item/$x/g > /home/delkav/info-sitioweb/html/productos/autos/nuevo-focus.html
     done
 done
 }
sub
 su



Código:
cat /home/.../nuevo-focus.html|grep -oiE '([$][0-9.]{1,7})'|tr '\n' ' '` )
$86.880 $0 $912 $908 $902 $897 $882 $812 $25.725 $715

 Perfil  

Desconectado
Forista Menor
Forista Menor
Avatar de Usuario

Registrado: Sab Abr 02, 2011 11:43 pm
Mensajes: 76

Nota Publicado: Sab Ago 18, 2012 2:24 pm 
Arriba  
Puedes darnos un ejemplo del contenido de nuevo-focus.html, por favor? No entiendo exactamente lo que piensas de hacer. Quieres cambiar los precios de algunas cosas en este fichero (el primero precio en 'price' con el primero en 'price2', el segundo precio etc. etc.)?

Si es así, pienso que este funciona bien:

Código:
#!/usr/bin/env bash
fichero='/home/delkav/info-sitioweb/html/productos/autos/nuevo-focus.html'
price=( $(cat $fichero | grep -oiE '([$][0-9.]{1,7})' | tr '\n' ' ') )
price2=( '$90.880' '$0' '$920' '$925' '$930' '$910' '$800' '$712' '$27.220' '$962' )

sub (){
    cp ${fichero}{,.bak}
    sed "s/$1/$2/g" ${fichero}.bak > ${fichero}
    rm ${fichero}.bak
}

for i in $(seq 0 $(( ${#price[*]} - 1))); do
    echo "$i: ${price[$i]} => ${price2[$i]}"
    sub ${price[$i]} ${price2[$i]}
done


Cuidado: este código cambiará todos los precios iguales en el fichero - por ejemplo, si hay dos cosas que cuestan $50, pues los dos se harán el nuevo precio del primero $50 (i.e. no es posible cambiar el primero $50 a $100 y el segundo a $20 - los dos se harán $100).

Espero que te he ayudado

_________________
No soy hispanohablante - si he cometido un error con mi español, dime por favor :) me gustaría mejorarlo

 Perfil  
Mostrar mensajes previos:  Ordenar por  
 [ 2 mensajes ] 
Nuevo tema Responder al tema

Saltar a:  


 Temas relacionados   Autor   Respuestas   Vistas   Último mensaje 
Agregar un array multidimensional a otro array PHP (SOLUCIONADO)

en Programación

greer

1

5260

Mié Oct 22, 2014 6:24 pm

Deckon Ver último mensaje

devolver un array C

en Programación

vampir

3

6199

Mié May 12, 2010 10:27 pm

akodo Ver último mensaje

Guardra array con php en la DB

en Programación

joseelmas

1

549

Lun Mar 11, 2013 4:05 am

mcun Ver último mensaje

array y bucle en php (SOLUCIONADO)

en Programación

greer

4

824

Jue Ene 19, 2012 7:39 pm

mcun Ver último mensaje

[php] Como agrupar Array

en Programación

mijael_27

1

630

Sab Feb 21, 2015 10:02 pm

akodo Ver último mensaje



¿Quién está conectado?

Usuarios navegando por este Foro: No hay usuarios registrados visitando el Foro y 1 invitado

No puede abrir nuevos temas en este Foro
No puede responder a temas en este Foro
No puede editar sus mensajes en este Foro
No puede borrar sus mensajes en este Foro
No puede enviar adjuntos en este Foro

Powered by phpBB © 2000, 2002, 2005, 2007 phpBB Group :: Style based on FI Subice by phpBBservice.nl :: Todos los horarios son UTC + 1 hora [ DST ]
Traducción al español por Huan Manwë
phpBB SEO