BULMA Bulma amb el projecta Defective by Desing
Bergantells Usuaris de GNU/Linux de Mallorca i Afegitons   |   Bisoños Usuarios de GNU/Linux de Mallorca y Alrededores
CONTENIDOS
. Jornadas de software libre
. Version para PDA
. Enlaces breves
. La asociacion
. Los mas leidos
. Autores [Actividad]
. Ultimos Comentarios
. Todos los titulares!
. Estadisticas
. Guia de estilo
. ¿Sugerencias?
. Wiki
. XML [Ayuda]
Listas de correo
. Archivos bulmailing
. Archivos BulmaGes
Radio libre :-)
. Des de la Xarxa (Archivos)
. Mallorca en Xarxa
Busquedas

+ Enlaces Linux
Ultimos kernels
(09/02/2010 16:21:07)
    
Google


En bulma.net
En internet
Tutorial de Expresiones Regulares (161427 lectures)
Por Daniel Rodriguez
DaniRC (http://www.ibiza-beach.com/)
Creado el 30/07/2001 12:25 modificado el 15/02/2002 12:45

Pagina12/14

Mas cosas y ejemplos sobre GREP y el SED

SED

sed [OPTION]... {script-only-if-no-other-script} [input-file]...

-n, --quiet, --silent
suppress automatic printing of pattern space
-e script, --expression=script
add the script to the commands to be executed
-f script-file, --file=script-file
add the contents of script-file to the commands to be executed
--help display this help and exit
-V, --version output version information and exit

If no -e, --expression, -f, or --file option is given, then the first
non-option argument is taken as the sed script to interpret. All
remaining arguments are names of input files; if no input files are
specified, then the standard input is read.

E-mail bug reports to: bug-gnu-utils@gnu.org .
Be sure to include the word ``sed'' somewhere in the ``Subject:'' field.

s/^ *//g
s/ *$//g
s/ */ /g

GETURL $GETURLFLAGS "$url" |
#$EGREP -i '/news/[0-9][0-9]*-[0-9][0-9]*-[0-9][0-9]*.*\.html' | $EGREP -i 'tag=(tp_pr|mn_hd)' |
$EGREP -v '< a href[^>].*>[ ]*< im g' | # ignore image
links tr -d '\015' | # Remove carriage-return
sed '/tp_pr/a\
special feature' | # main titles only have one line
striphtml |
$EGREP -v '[ap]\.m\.[ ]PT' | # ignore time line
$EGREP -v '^[ ]*$' |
paste -d '|' - - | # concatenate two consecutive
lines sed 's:|: -- :' |
nl -s'. ' | # number lines, number separator
is '. ' umbruch -o 8


GREP
grep tcp | grep LISTEN
cat archivo | grep -v palabra (Lo enseña todo menos palabra) grep loquesea.*LOQUEQUIERAS
grep tcp | grep LISTEN
$ cat archivo | grep palabra
Para ver los logs "en directo" tenemos el comando tail, de forma que tail -f
/var/log/messages, por ejemplo nos muestra los mensajes del sistema segun
van sucediendo.

Y el otro truco es una opcion interesante del grep, el parametro -v que nos muestra
los datos que NO cumplen la cadena de busqueda
Por ejemplo para ver los accesos a la web que no vienen de nuestra maquina
cat /var/log/httpd/access_log | grep -v "192.168.0.1"

Otro comando útil en este tipo de programación shell es el tr. tr -s " ", por ejemplo, te sustituye las seqüencias de uno o más espacios por uno solo, esto es útil al combinarlo con cut -d " ", ya que a lo mejor entre dos campos de un log hay un número variable de espacios.

root
moul
xinit
enlightenment
Bi-Clic File y File Manager


kill -9 numero proceso
ps -a
xinit
enlightenment
xdm

http://searchenginewatch.com/resources/tutorials.html
http://www.google.com/
# writes all keystrokes to [logfile] and sends them to
# the shell to be executed
# Allows you to create a shell script for a series
# of commands as you do them
#
# usage: logstrokes [file to log to]
# when done, ctr-c to stop logging

# comments / improvements: support@webmastersguide.com

# history:
# 1.2 Fixed script so logfile could be entered as
# either a full path or a relative path, without a switch
#
# 1.1 Initial release - required r switch

case $1 in
"")echo "usage: logstrokes [file to log to]"; exit 1;;
-*) shift;;
esac

case $1 in
/.*) logfile="$1";;
*) logfile="`pwd`/$1";;
esac
echo "logging to $logfile"

touch $logfile
chmod 755 $logfile

while :
do
echo -n "[`pwd`]# "
read args
echo "$args" >>$logfile
$args
done


Captura de web sites.
Antes que nada quiero aclarar que un proceso automático para hacer un mirror de un website es algo que por ahora me supera, y como no tengo una necesidad repetida de hacerlo, no profundizé en un spider mas o menos astuto y lo hice por pedacitos. Todo lo que sigue puede servir como una guia de procedimientos, es sólo orientativa. Si vos si tenés la necesidad del spider, me avisás y lo hacemos. Tené en cuenta que a diferencia de un directorio de ftp, que se parece más a un árbol de derivación (existe una estructura jerárquica, cada nodo se deriva de uno solo) como un directorio unix con ocasionales links, la estructura web es un grafo no dirigido y la lógica para recorrerlo integramente de forma eficiente es más compleja.

El otro dia un amigo me pidió que le sacara una copia a un site de Bach. Entre 1200 a 1800 htmls, no hay acceso por ftp, solo web. Un mail, please send me a zip, no, es antideportivo. Hay que hacer algo asi como un mirror por única vez, una instantanea del site

La estructura se puede ver en The J. S. Bach Home Page

Son varios index (por fecha, instrumento, nombre, combinados) que apuntan a un montón de archivos "bach[:digit:].html" y estos a otros que no recuerdo bien, pero algo asi como "p[:digit:].html

Webeando por ahi, encontré un simpatico script en Perl, wwwgrab, (los créditos están adentro) que me permitió con otro par de shell scripts hacerlo de un modo no del todo manual.

Primero te traés index.html y le extraés los links que sean de los index del site, a algunos de estos les corrés

# filtro para wwwgrab
grep "<A HREF" *.html | \ # extrae todos los links

cut -f 2 -d '"' | \ # extrae el segundo campo segun delimitador (")
grep [0123456789] >> \ # extrae solo los archivos con numeros
archivos_a_bajar

Luego editá archivos_a_bajar y le sacás las irregularidades y

#!/bin/bash
URL=http://www.tile.net/tile/bach/
for file in $(cat archivos_a_bajar); do
wwwgrab $URL$file $file & # lo mando al background...
echo $URL$file # para monitorear
sleep s 1 # ... para que no se amontonen
done
Y repetís segun haga falta.

Más información en man grep, man cut, less wwwgrab

Paginas: <<Abreviatura Anterior  1  2  3  4  5  6  7  8  9  10  11  12  13  14  Abreviatura Siguiente>>

Imprimir
Version para
imprimir

Imprimir
Version
PDF
GRACIAS
Distribuciones Universal
Por el servidor
Dpto. de Matematicas e Informatica
Calificacion
***0
Vots: 169
Danos tu opinion:
**** Excelente
***0 Muy Bueno
**00 Bueno
*000 Regular
0000 Malo
Relacionados
. Sed, un editor de flujo (a stream editor)
. AWK paso a paso... y sin usar el ratón
. Filtrando mensajes con Postfix
. Explorador visual de expresiones regulares
. Expresiones Regulares - Conceptos Avanzados -
SECCIONES
Noticia
Breve
Truco
Enlace
Participa
Proyecto
Articulo
Webbulma
Manoletada :-)
Seguridad
Modificado: 9/2/2010 12:13:19 | Tiempo Total: 0.014 segs | Kernel: Linux - i686 - 2.6.26-1-686 | Last boot: 09/02/2010 17:12 CET
Powered by Apache    MySQL    PHP    Gimp