Logo Questions Linux Laravel Mysql Ubuntu Git Menu
 

Regular expression and sed to remove all occurences of some string from hundreds of files

Tags:

regex

sed

I'm perusing the web for information about regular expressions and sed usage. I've also got sed's manual open. Still, I'm posting this question here because I'm sure someone uses the two often enough that they can probably answer this question before I work out a solution.

I've got a few hundred html documents with links like the following:
http://www.example.com/subfolder/abc.asp?page=1#main
I need to remove the "#main"

Does a pattern pop into mind?


2 Answers

Try this sed:

sed 's/^\(.*\)#.*$/\1/'

Or this better sed command:

sed 's/#.*$//'
like image 151
anubhava Avatar answered Oct 18 '25 07:10

anubhava


Here's a snippet that works with perl on the command line. It's not sed, but I had it on hand:

perl -i -pe 's/#main//' *.html

To run it, and have it make backups, you can use:

perl -pi.bak -e 's/#main//' *.html
like image 44
Dan Breen Avatar answered Oct 18 '25 08:10

Dan Breen



Donate For Us

If you love us? You can donate to us via Paypal or buy me a coffee so we can maintain and grow! Thank you!