Bash - Guía avanzada
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