Linux: Grep o sed para buscar y borrar lineas de archivos que contengan el texto que coincida

08/11/2011
By

Necesito comparar patrones de texto de un archivo en Linux y borrar todas las lineas en el segundo archivo que contengan el patron igual o que haya coincidido en el primer archivo.

Gracias a que estoy trabajando en Linux pense que es posible utilziar Sed o Grep para solucionarlo. Para tener un ejemplo completo mi primer archivo es un sitemap en formato urllist, el cual contiene lineas como las siguientes:

http://ejemplo.com/?p=1025

http://ejemplo.com/?tag=lanzamiento

http://ejemplo.com/?feed=rss2&p=576

http://ejemplo.com/?tag=eventos

http://ejemplo.com/?p=1450

http://ejemplo.com/?feed=rss2&p=578

http://ejemplo.com/wp-trackback.php?p=109

http://ejemplo.com/?feed=rss2&p=1808

http://ejemplo.com/?p=1458

http://ejemplo.com/wp-trackback.php?p=104

Grep: Como eliminar filas de los archivos

Lo que necesito hacer aca es borrar cada linea del urrlist que contenta feeds, tags o trackbacks . Para lo cual ejecuto el siguiente comando en la terminal de Linux:

:~$ grep -Ev 'feed|tag|trackback' urllist.txt > urllist.depurado.txt

Con el comando anterior, voy a remover todas las palabras del archivo urllist.txt contenidas dentro de las comillas ( ‘ ) y separados por pipe | y luego las envio al archivo de depuracion. Con lo cual de 351 lineas me han quedado tan solo 193.

Via | sed or grep : delete lines containing matching text

Popularity: 1% [?]


Otros articulos de interes:

  1. Linux – Buscar y borrar archivos del sistema de archivos
  2. Buscar y Reemplazar texto en todos los archivos dentro de un directorio y todos los subdirectorios
  3. MySQL: Buscar y Reemplazar texto con SQL
  4. Script para borrar el mail queue de Postfix
  5. Buscar y Reemplazar – Expresiones Regulares en Vi

Tags: debian, grep, linux, sed, terminal, ubuntu

Leave a Reply

Your email address will not be published. Required fields are marked *

*