Saludos.
Aunque la consulta no es directamente de puppy, ojala me puedan ayudar
Estoy intentando construir un pequeño script para buscar palabras exactas dentro de frases.
googliando, logré organizar esto:
#! /bin/bash
Unix[0]="Sistemas operativos libres"
Unix[1]="Sistematizaciones generales"
Unix[2]="Sistema operacional"
Unix[3]="operaciones sistemicas"
CONTADOR=0
MAX=4
while [ $CONTADOR -lt $MAX ]; do
echo $CONTADOR
echo `expr index "${Unix[CONTADOR]}" "ciones"`
echo `expr match "${Unix[CONTADOR]}" "temas"`
echo =======================
let CONTADOR=CONTADOR+1
done
pero no logro que mi indique la posición exacta de la parte "ciones" o "temas" para cada una de las 4 frases
Ciertamente me salen algunas posiciones, pero no coinciden con el inicio de la partícula exacta, sino de una de las letras de la partícula.
Necesito ubicar partículas exactas dentro de las frases.
Cómo podría lograr que para que me ubique "ciones" en la posición 12 en la segunda frase y en la posicion 6 en la cuarta frase.
Por igual, que me ubique "temas" en la posicion 4 de la primera frase, ya que las otras tres no la tienen completa.
Ojala puedan ayudarme.
Sé que hay un subforo programming dentro de éste forum pero no se ingles.
Uso puppy slacko 5.4
[RESUELTO]scripts en puppy
-
- Posts: 212
- Joined: Sun 25 Feb 2007, 14:39
[RESUELTO]scripts en puppy
Last edited by arivas_2005 on Fri 29 Mar 2013, 02:07, edited 1 time in total.
Hola, yo usaría awk (sí y solo sí no puedo usar Perl ):
la salida:
Sin embargo se puede hacer de muchas otras formas. Con grep alcanza con las opciones -b y -o.
Code: Select all
#! /bin/bash
Unix[0]="Sistemas operativos libres"
Unix[1]="Sistematizaciones generales"
Unix[2]="Sistema operacional"
Unix[3]="operaciones sistemicas"
CONTADOR=0
MAX=4
while [ $CONTADOR -lt $MAX ]; do
echo "iteracion nro.: ->" $CONTADOR
#echo `expr index "${Unix[CONTADOR]}" "ciones"`
echo "ciones: ->" $(awk -v a="${Unix[CONTADOR]}" -v b="ciones" 'BEGIN{print index(a,b)}')
echo "temas: ->" $(awk -v a="${Unix[CONTADOR]}" -v b="tema" 'BEGIN{print index(a,b)}')
echo =======================
let CONTADOR=CONTADOR+1
done
Code: Select all
bash asd.sh
iteracion nro.: -> 0
ciones: -> 0
temas: -> 4
=======================
iteracion nro.: -> 1
ciones: -> 12
temas: -> 4
=======================
iteracion nro.: -> 2
ciones: -> 0
temas: -> 4
=======================
iteracion nro.: -> 3
ciones: -> 6
temas: -> 0
=======================
- mister_electronico
- Posts: 969
- Joined: Sun 20 Jan 2008, 20:20
- Location: Asturias_ España
- Contact:
Utiliza sed
El comando sed es un comando impresionante y muy bueno para localizar palabras, frase y mas, y te ahorra muchismio trabajo.
Este post puede ser interesante para que mas gente se anime a poner scripts, un tema que seria muy interesante.
Saludos.
Este post puede ser interesante para que mas gente se anime a poner scripts, un tema que seria muy interesante.
Saludos.
- mister_electronico
- Posts: 969
- Joined: Sun 20 Jan 2008, 20:20
- Location: Asturias_ España
- Contact:
Pues si la verdad es que seria mejor abrir uno nuevo
Si seria mejor abrir uno nuevo, de esta forma se podria hacer mas ordenadamente.
La verdad es que en internet hay infinidad de sitios con informacion de script pero, de esta forma se podrian poner script que este comprobado que funcionan en Puppy y que estan testeados.
Asi como si hace falta alguno enlace a algun comando en concreto, poder poner el enlace aqui.
Aqui en el foro de Puppy se han puesto script bastante buenos, se podrian reunir para empezar todos en el post que se haga nuevo.
Saludos.
La verdad es que en internet hay infinidad de sitios con informacion de script pero, de esta forma se podrian poner script que este comprobado que funcionan en Puppy y que estan testeados.
Asi como si hace falta alguno enlace a algun comando en concreto, poder poner el enlace aqui.
Aqui en el foro de Puppy se han puesto script bastante buenos, se podrian reunir para empezar todos en el post que se haga nuevo.
Saludos.