I need help with sed


 
Thread Tools Search this Thread
Top Forums Shell Programming and Scripting I need help with sed
# 1  
Old 01-18-2012
I need help with sed

Hello,

After stripping and converting encoding of a php file i have this:
Code:
/film/5232/"_class="titre_article">Enlevement
/film/3864/"_class="titre_article">Bucky_Larson:_Ne_pour_etre_star
/film/5850/"_class="titre_article">Arnaque.44
/film/6239/"_class="titre_article">Courageux
/film/5335/"_class="titre_article">Dirty_Girl
/film/8133/"_class="titre_article">Tuer_Bono
/film/7643/"_class="titre_article">La_ligne_droite
/film/6010/"_class="titre_article">Le_bonheur_des_autres
/film/7472/"_class="titre_article">Le_poeme
/film/6516/"_class="titre_article">Les_marches_du_pouvoir
/film/7942/"_class="titre_article">Trauma:_Saison_2

What i want to achive with this script is something like:
Code:
mkdir /home/user/video/Enlevement
wget $URL/film/5232/index.html -O /home/user/video/Enlevement

mkdir home/user/video/Bucky_Larson:_Ne_pour_etre_star
wget $URL/film/3864/index.html -O /home/user/video/Bucky_Larson:_Ne_pour_etre_star

mkdir /home/user/video/Arnaque.44
wget $URL/film/5850/index.html -O /home/user/video/Arnaque.44

...
...
...

Thank you
# 2  
Old 01-18-2012
This should help you figure out the full solution:
Code:
#!/bin/bash

while read line
do
   thename=${line:35}
   echo $thename
done  < yourfile

# 3  
Old 01-18-2012
To say the part about mkdir i have figured it out using this:
Code:
#!/bin/bash
date=$(date +%y%m%d)
mkdir $date
vim +"set bomb | set fileencoding=utf-8 | wq" $(find . -type f -name *.php)
cat en_dvd.php | grep titre_article | sed '1d' | sed -e :a -e 's/<[^>]*>//g;/</N;//ba'| tr -d '\011' | sed -e 's/ /_/g' | sed -re 'y/éèê/eee/' > temp.txt
exec 3< temp.txt
while read <&3
do mkdir $date/$REPLY
done
exec 3>&-

this code strip, convert encoding and remove accents of the php file i have to leave me with the folder names and create them.

what i don't know is how to put file from $URL/film/5232/ to Enlevement, $URL/film/3864/ to Bucky_Larson:_Ne_pour_etre_star and so on ...

What i have done is reworked the cat line like this:
Code:
cat en_dvd.php | grep titre_article | sed '1d' | sed -re 'y/éèê/eee/' | tr -d '\011' |  sed 's/^.\{9\}//g' | sed -e 's/ /_/g' |  sed -e :a -e 's/<[^>]*>//g;/</N;//ba'

so now instead of having just the folder name i have:
Code:
/film/5232/"_class="titre_article">Enlevement

i have taught of using sed to replace:
Code:
"_class="titre_article">

with:
Code:
index.html -O /path/to/

so it would produce:
Code:
/film/5232/index.html -O /path/to/Enlevement

but i was unable... maybe because of the double quotes in the line... I could finally use a second fonction to wget the index.html into the right place like:
Code:
exec 3< temp.txt
while read <&3
do wget $URL$REPLY
done
exec 3>&-

# 4  
Old 01-18-2012
Code:
$
$
$ cat -n f49
     1  /film/5232/"_class="titre_article">Enlevement
     2  /film/3864/"_class="titre_article">Bucky_Larson:_Ne_pour_etre_star
     3  /film/5850/"_class="titre_article">Arnaque.44
     4  /film/6239/"_class="titre_article">Courageux
     5  /film/5335/"_class="titre_article">Dirty_Girl
     6  /film/8133/"_class="titre_article">Tuer_Bono
     7  /film/7643/"_class="titre_article">La_ligne_droite
     8  /film/6010/"_class="titre_article">Le_bonheur_des_autres
     9  /film/7472/"_class="titre_article">Le_poeme
    10  /film/6516/"_class="titre_article">Les_marches_du_pouvoir
    11  /film/7942/"_class="titre_article">Trauma:_Saison_2
$
$
$ sed 's/^\/film\/\([0-9]\+\)\/.*>\(.*\)$/mkdir \/home\/user\/video\/\2\nwget \$URL\/film\/\1\/index.html -O \/home\/user\/video\/\2\n/' f49
mkdir /home/user/video/Enlevement
wget $URL/film/5232/index.html -O /home/user/video/Enlevement
 
mkdir /home/user/video/Bucky_Larson:_Ne_pour_etre_star
wget $URL/film/3864/index.html -O /home/user/video/Bucky_Larson:_Ne_pour_etre_star
 
mkdir /home/user/video/Arnaque.44
wget $URL/film/5850/index.html -O /home/user/video/Arnaque.44
 
mkdir /home/user/video/Courageux
wget $URL/film/6239/index.html -O /home/user/video/Courageux
 
mkdir /home/user/video/Dirty_Girl
wget $URL/film/5335/index.html -O /home/user/video/Dirty_Girl
 
mkdir /home/user/video/Tuer_Bono
wget $URL/film/8133/index.html -O /home/user/video/Tuer_Bono
 
mkdir /home/user/video/La_ligne_droite
wget $URL/film/7643/index.html -O /home/user/video/La_ligne_droite
 
mkdir /home/user/video/Le_bonheur_des_autres
wget $URL/film/6010/index.html -O /home/user/video/Le_bonheur_des_autres
 
mkdir /home/user/video/Le_poeme
wget $URL/film/7472/index.html -O /home/user/video/Le_poeme
 
mkdir /home/user/video/Les_marches_du_pouvoir
wget $URL/film/6516/index.html -O /home/user/video/Les_marches_du_pouvoir
 
mkdir /home/user/video/Trauma:_Saison_2
wget $URL/film/7942/index.html -O /home/user/video/Trauma:_Saison_2
 
$
$

tyler_durden

---------- Post updated at 07:05 PM ---------- Previous update was at 06:54 PM ----------

If Perl is an option then you could spruce up that regex -

Code:
$
$ cat f49
/film/5232/"_class="titre_article">Enlevement
/film/3864/"_class="titre_article">Bucky_Larson:_Ne_pour_etre_star
/film/5850/"_class="titre_article">Arnaque.44
/film/6239/"_class="titre_article">Courageux
/film/5335/"_class="titre_article">Dirty_Girl
/film/8133/"_class="titre_article">Tuer_Bono
/film/7643/"_class="titre_article">La_ligne_droite
/film/6010/"_class="titre_article">Le_bonheur_des_autres
/film/7472/"_class="titre_article">Le_poeme
/film/6516/"_class="titre_article">Les_marches_du_pouvoir
/film/7942/"_class="titre_article">Trauma:_Saison_2
$
$
$ perl -plne 'BEGIN {$x="/home/user/video"} s|^.*?(\d+).*>(.*)$|mkdir $x/$2\nwget \$URL/film/$1/index.html -O $x/$2\n|' f49
mkdir /home/user/video/Enlevement
wget $URL/film/5232/index.html -O /home/user/video/Enlevement
 
mkdir /home/user/video/Bucky_Larson:_Ne_pour_etre_star
wget $URL/film/3864/index.html -O /home/user/video/Bucky_Larson:_Ne_pour_etre_star
 
mkdir /home/user/video/Arnaque.44
wget $URL/film/5850/index.html -O /home/user/video/Arnaque.44
 
mkdir /home/user/video/Courageux
wget $URL/film/6239/index.html -O /home/user/video/Courageux
 
mkdir /home/user/video/Dirty_Girl
wget $URL/film/5335/index.html -O /home/user/video/Dirty_Girl
 
mkdir /home/user/video/Tuer_Bono
wget $URL/film/8133/index.html -O /home/user/video/Tuer_Bono
 
mkdir /home/user/video/La_ligne_droite
wget $URL/film/7643/index.html -O /home/user/video/La_ligne_droite
 
mkdir /home/user/video/Le_bonheur_des_autres
wget $URL/film/6010/index.html -O /home/user/video/Le_bonheur_des_autres
 
mkdir /home/user/video/Le_poeme
wget $URL/film/7472/index.html -O /home/user/video/Le_poeme
 
mkdir /home/user/video/Les_marches_du_pouvoir
wget $URL/film/6516/index.html -O /home/user/video/Les_marches_du_pouvoir
 
mkdir /home/user/video/Trauma:_Saison_2
wget $URL/film/7942/index.html -O /home/user/video/Trauma:_Saison_2
 
$
$
$

tyler_durden
This User Gave Thanks to durden_tyler For This Post:
# 5  
Old 01-25-2012
This is great thankx again Smilie

Last edited by patx; 01-25-2012 at 11:25 PM.. Reason: fixed... bad typo
Login or Register to Ask a Question

Previous Thread | Next Thread

10 More Discussions You Might Find Interesting

1. Shell Programming and Scripting

I am learning regular expression in sed,Please help me understand the use curly bracket in sed,

I am learning SED and just following the shell scripting book, i have trouble understanding the grep and sed statement, Question : 1 __________ /opt/oracle/work/antony>cat teledir.txt jai sharma 25853670 chanchal singhvi 9831545629 anil aggarwal 9830263298 shyam saksena 23217847 lalit... (7 Replies)
Discussion started by: Antony Ankrose
7 Replies

2. Shell Programming and Scripting

sed and awk giving error ./sample.sh: line 13: sed: command not found

Hi, I am running a script sample.sh in bash environment .In the script i am using sed and awk commands which when executed individually from terminal they are getting executed normally but when i give these sed and awk commands in the script it is giving the below errors :- ./sample.sh: line... (12 Replies)
Discussion started by: satishmallidi
12 Replies

3. Shell Programming and Scripting

sed inside sed for replacing string

My need is : Want to change docBase="/something/something/something" to docBase="/only/this/path/for/all/files" I have some (about 250 files)xml files. In FileOne it contains <Context path="/PPP" displayName="PPP" docBase="/home/me/documents" reloadable="true" crossContext="true">... (1 Reply)
Discussion started by: linuxadmin
1 Replies

4. Shell Programming and Scripting

How to use sed to replace the a string in the same file using sed?

How do i replace a string using sed into the same file without creating a intermediate file? (7 Replies)
Discussion started by: gomes1333
7 Replies

5. UNIX for Dummies Questions & Answers

SED: Can't Repeat Search Character in SED Output

I'm not sure if the problem I'm seeing is an artifact of sed or simply a beginner's mistake. Here's the problem: I want to add a zero-width space following each underscore between XML tags. For example, if I had the following xml: <MY_BIG_TAG>This_is_a_test</MY_BIG_TAG> It should look like... (8 Replies)
Discussion started by: rhetoric101
8 Replies

6. Shell Programming and Scripting

deleting text records with sed (sed paragraphs)

Hi all, First off, Thank you all for the knowledge I have gleaned from this site! Deleting Records from a text file... sed paragraphs The following code works nearly perfect, however each time it is run on the log file it adds a newline at the head of the file, run it 5 times, it'll have 5... (1 Reply)
Discussion started by: Festus Hagen
1 Replies

7. Shell Programming and Scripting

sed has zeored my files. Help me with sed please

i made a script to update a lot of xml files. to save me some time. Ran it and it replaced all the the files with a 0kb file. The problem i was having is that I am using sed to change xml node <doc_root>. The problem with this is it has a / in the closing xml tag and the stuff inside will also have... (4 Replies)
Discussion started by: timgolding
4 Replies

8. Shell Programming and Scripting

sed over writes my original file (using sed to remove leading spaces)

Hello and thx for reading this I'm using sed to remove only the leading spaces in a file bash-280R# cat foofile some text some text some text some text some text bash-280R# bash-280R# sed 's/^ *//' foofile > foofile.use bash-280R# cat foofile.use some text some text some text... (6 Replies)
Discussion started by: laser
6 Replies

9. Shell Programming and Scripting

Issue with a sed one liner variant - sed 's/ ; /|/g' $TMP1 > $TMP

Execution of the following segment is giving the error - Script extract:- OUT=$DATADIR/sol_rsult_orphn.bcp TMP1=${OUT}_tmp1 TMP=${OUT}_tmp ( isql -w 400 $dbConnect_OPR <<EOF select convert(char(10), s.lead_id) +'|' + s.pho_loc_type, ";", s.sol_rsult_cmnt, ";", +'|'+ s.del_ind... (3 Replies)
Discussion started by: kzmatam
3 Replies

10. Shell Programming and Scripting

Sed Question 1. (Don't quite know how to use sed! Thanks)

Write a sed script to extract the year, rank, and stock for the most recent 10 years available in the file top10_mktval.csv, and output in the following format: ------------------------------ YEAR |RANK| STOCK ------------------------------ 2007 | 1 | Exxon... (1 Reply)
Discussion started by: beibeiatNY
1 Replies
Login or Register to Ask a Question