Guía avanzada de bash

Guía avanzada de bash

Búsqueda

Búsqueda de una línea precedida por otra

Cuando haces un grep, sólo puedes buscar línea a línea. Si queremos buscar una línea que tenga otra línea en particular encima:

pcregrep -M '<ARRIBA>.*\n<ABAJO>' *.md | awk -F: /.md/'{print $1}

Edición

Intercambiar dos lineas

sed -i -r '$!N;s/^(\s*<ARRIBA>.*)\n(\s*<ABAJO>.*)/\2\n\1/;P;D' <archivo>

Cambiar textos a minúsculas

sed -i -r 's/(.*)/\L&/' <archivo>

Cambio de nombres

rename -nv 's/(AAAA)/bbb_\1_ccc/' AAAA

Busca y reemplaza

#=== Busca y reemplaza una cadena en un fichero:
sed -i 's/BUSCA/REEMPLAZA/g' fichero
#=== Busca ficheros con una extensión y reemplaza una cadena en esos ficheros
find . -iname "*.java" -exec sed -i "s/<busca>/<reemplaza>/g" '{}' \;
Actualizado el