2013-06-28 1 views
-2

У меня есть текстовый файл с именем 2.txt со ссылками на как этотБаша локон массив из текстового файла

www.link.php/user=1pass=3 
www.link.php/user=1pass=3 
www.link.php/user=1pass=3 
www.link.php/user=1pass=3 
www.link.php/user=1pass=3 

Я хочу, чтобы сделать завиток команды, которая посещает каждую линию связи по линии и отправляет часть источник мне нужен; вот источник, когда одна из ссылок посетили:

online - Checked user : test cpu cooling rate: 0.50<html> 
<head> 
</head> 
<body> 
    <form action="tasks.php" method="get"> 
     <input type="text" name="account" placeholder="username:password" style="text- align: center" /> <br /> 
     <input class="btn btn-success" type="submit" value="Check Account" /> 
     </form> 
</body> 

Я хочу, чтобы захватить источник и удалить все HTML код отдельно от того, что перед <html> тег

так я в конечном итоге с текстовым файлом например

online - Checked user : test cpu cooling rate: 0.50 
online - Checked user : test cpu cooling rate: 0.520 
online - Checked user : test cpu cooling rate: 0.1150 
online - Checked user : test cpu cooling rate: 6.50 

Может ли кто-нибудь помочь мне сделать это, пожалуйста?

+1

Почему вопросы должны начинаться с 'okay'? – devnull

+2

Вы уже писали сценарий? Что оно делает? – kojiro

+0

С какой частью вам нужна помощь? Получение данных или их анализ? Если вам нужна помощь в разборе, можете ли вы поставить лучший образец? Вы не опубликовали допустимый HTML – SheetJS

ответ

2

Этот скрипт будет делать то, что вы хотите:

#!/bin/sh 

output_file='3.txt' 

while read line ; do 
    curl "$line" | tr -d '\n' | sed -e :a -e 's/<[^>]*>//g;/</N;//ba' >> "$output_file" 
done < '2.txt' 

exit 0 

Благодаря Blackbit для регулярных выражений.

+0

woul, вы сможете выложить его для меня. Мой текстовый файл 2.txt содержит URL-адреса на каждой строке, тогда я хочу, чтобы результаты были 3.txt –

+0

Готово! Просто сохраните скрипт в правильном каталоге и запустите его. – aymericbeaumet

+0

i get thiss error bro curl: (3) malformed –

0

Будет ли текст до <html> всегда находиться на той же строке, что и тег? Если да, то вы могли бы сделать что-то вроде этого:

#!/bin/bash 

cat url_list | while read url; do 
    curl "$url" | grep "<html>" | sed 's/<html>.*//' 
done 

Replace cat url_list с предпочтительным решением для other question.

+0

no normaly тег рядом с линией –

+0

Что вы подразумеваете под «рядом с линией»? Это на одной строке или на следующей строке? Является ли предыдущий текст одной строкой или может охватывать несколько строк? –