bash sed find and replace

Geschlossen Veröffentlicht vor 7 Jahren Bezahlt bei Lieferung
Geschlossen Bezahlt bei Lieferung

I need a bash script to do this: I have folder that contain html files and subfolders.

now files name as [login to view URL], [login to view URL] etc.

i want to replace the original file name with the title tag of the file ( instead of the space between the words i would like to add "_". then replace all links in all folder that contain the original name with the new title name.

example of title - <title>admin/environment/php some text</title> change to <title>php_some_text</title>

then to replace all links in all files that contain the old links to the new file name that will be php_some_text.html.

all my needs have a solutions in my script but don't know how to replace the link all over to the new file name. my script:

#!/bin/bash

cd /var/www/clients/client1/web2/web/docs/31/en

find . -name "*.html" > [login to view URL]

while read -r filepath ;

do

# Considering the subfolder can have spaces,

# We will start by separating the filename

# And dirname

folderpath=`dirname "$filepath"`

filename=`basename "$filepath"`

# With GNU GREP

new_name=$(grep -oP '<title>\K.+?</title>' "$filepath" | sed 's#</title>##' | tr ' ' '_' )

#echo new_name=$(grep -oP '<title>\K.+?</title>' "$filepath" | sed 's#</title>##' | tr ' ' '_' )

# With BSD GREP (for who need the info)

# new_name=$(grep -o '<title>.*</title>' $filepath | sed -e 's/<title>\(.*\)<\/title>/\1/g' | sed -e 's/$filename/$new_name/g' | tr ' ' '_')

#if [[ $new_name = */* ]]; then echo "/${new_name##*}"; else echo "$new_name"; fi

mv -v "$filepath" "$folderpath/`basename $new_name`.html"

### command that i tried to solve the link url issue

#find /var/www/clients/client1/web2/web/docs -type f -exec sed -i 's/$filename/$new_name/g' {} \;

#grep -rl '$filename' /var/www/clients/client1/web2/web/docs/31/en | xargs sed -i 's/$filename/$new_name/g' *.html

#sed -i 's/$filename/$new_name/gi' *.html

done < [login to view URL]

Thank you

Linux MySQL System Admin Websicherheit WordPress

Projekt-ID: #10788103

Über das Projekt

17 Vorschläge Remote Projekt Aktiv vor 7 Jahren

17 Freelancer bieten im Durchschnitt $52 für diesen Job

techwelfare

Yes Sir let's explore the requirement to clarify in details also if you want us to share our skill and previous work let us know.. hope to hear you soon.. Thanks & Regards Moumita

$136 USD in 4 Tagen
(103 Bewertungen)
6.7
zkutch

Hello. More 20 years programming experience. I need more details to set real time and price. Regards. -------------------------------------------------------------------------------------------------------------- Mehr

$50 USD in 5 Tagen
(17 Bewertungen)
4.6
crypthne

I have bachelor and master degrees in IT. My Primary skills include Java, Python, VB/.NET, ArcGIS, and PHP. Also database skills include MS Access, MySQL, and Oracle. My Other skills include server and network administ Mehr

$25 USD in 1 Tag
(17 Bewertungen)
3.6
djuranovski

A proposal has not yet been provided

$35 USD in 3 Tagen
(11 Bewertungen)
3.3
trhoan00

Hello, I'm a bash, perl developer. I think this task should be written with perl. Thank you for reading my bid

$50 USD in 2 Tagen
(9 Bewertungen)
3.2
agarwaladitya007

Have a decade of devops experience. Can do this for you in a short time after confirmation. And you need to pay me once your are satisfied with the work. No ratings as I am new to Freelancer. So I will also need a 5 st Mehr

$30 USD in 10 Tagen
(1 Bewertung)
1.1
vladgenyl

Hello! Can do this task for you very quickly. I have wide experience in writing utilities on C++/C#/PHP (including client-servers scripts, web scraping, monitoring and control systems, and so on) for sites that have Mehr

$40 USD in 1 Tag
(0 Bewertungen)
0.0
hfdmine

I can do this in two hours, I have made made many sophisticated Bash scripts for my company and for my personal needs. Contact me for more informations.

$20 USD in 1 Tag
(0 Bewertungen)
0.0
okmdlukman

Hi, I can complete you project within a day. pleas ping me if you are interested so that we can discuss and will provide the script as per your need post testing it.

$30 USD in 1 Tag
(0 Bewertungen)
0.0
tarique012

script will replace the folder/file names with those given.

$55 USD in 2 Tagen
(0 Bewertungen)
0.0
aizuddinzali

A proposal has not yet been provided

$50 USD in 5 Tagen
(0 Bewertungen)
0.0