Skip to main content

Raymii.org Logo (IEC resistor symbol)logo

Quis custodiet ipsos custodes?
Home | About | All pages | RSS Feed | Gopher

Bash Bits: Find all files containing specific text (and remove them)

Published: 07-05-2019 | Author: Remy van Elst | Text only version of this article


Table of Contents


Bash Bits are small examples and tips for Bash Scripts. This bash bit shows youhow to find all files containing specific text, and how to remove them.

If you like this article, consider sponsoring me by trying out a Digital OceanVPS. With this link you'll get $100 credit for 60 days). (referral link)

All Bash Bits can be found using this link

Finding all files with specific text in them

For text news I convert news articles to plain text with readability.Recently one of the sites I convert changed their HTML, causing the parsing tofail. I fixed that in the parser, but had over 200 failed parsed articles. Iwanted to remove them all. They all contain the following string:

Wij willen graag weten in welke omgeving u woont

Navigate to the folder where you want to search (recursivly):

cd /var/gopher

Search for all .txt files which have the string in them. grep -l will onlywrite the filename of the file that contains the string.

find -iname "*.txt" | xargs grep -l "Wij willen graag weten in welke omgeving"

This will give you a list of files:

./Dutch/www.rtvdrenthe.nl/20190428T0924_Inbraak_bij_super_Barger_Oosterveld.txt./Dutch/www.rtvdrenthe.nl/20190428T1036_Hoofdprijs_Staatsloterij_valt_in_Borger_Odoorn.txt./Dutch/www.rtvdrenthe.nl/20190501T1304_50Plus_en_Sterk_Lokaal_samen_verder_in_de_Staten.txt./Dutch/www.rtvdrenthe.nl/20190504T1657_Live__Dodenherdenking_Westerbork__afgesloten_.txt./Dutch/www.rtvdrenthe.nl/20190503T0557_Drankrijder_A28_is_rijbewijs_kwijt.txt

Check them by hand, and if you're sure you want to remove them, use thefollowing command:

find -iname "*.txt" | xargs grep -l "Wij willen graag weten in welke omgeving" | awk '{print "rm "$1}' | bash
Tags: bash, bash-bits, find, grep, remove, shell, snippets