Strona 1 z 2

[+] Skrypt do wyciągania @ z pliku txt

: 06 grudnia 2014, 12:06
autor: dejron
Witam

Czy mógłby mi ktoś pomóc napisać jakiś prosty skrypt, który z pliku txt wyciągnie mi tylko samego e-maila ?
Mam plik txt a w niej bazę e-maili ale zapisane tak:

Kod: Zaznacz cały

103238704-|--|-mail@xxx.com-|-r4Vp5iL2VbM=-|-maiden  name|--
103238705-|--|-mail@xxx.com-|-BB4e6X+b2xLioxG6CatHBw==-|-boyfriend|--
103238706-|--|-mail@xxx.com-|-Cm8mAzxAiwzioxG6CatHBw==-|-Flamengo|--
103238707-|--|-mail@xxx.com-|-n+TZlu41zyHioxG6CatHBw==-|-|--
    103238708-|--|-mail@xxx.com-|-FAniAwP+U13ioxG6CatHBw==-|-|--
103238709-|--|-mail@xxx.com-|-kxiV+a47bSlf+E5Ulu/AzA==-|-newest|--
itd.

A chciałbym żeby taki skrypt wyciągnał mi same e-maile żeby to wyglądało w pliku tak:

mail@xxx.com
mail@xxx.com
mail@xxx.com
mail@xxx.com
itd.

Pomoże mi ktoś ?

: 06 grudnia 2014, 12:31
autor: dedito
A te logi to z jakiego programu?

: 06 grudnia 2014, 13:37
autor: dejron
Tego nie wiem dostałem ten plik już w takiej postaci i teraz chciałbym się tego wszystkiego pozbyć poza adresami e-mail. Da się coś z tym zrobić /

: 06 grudnia 2014, 14:08
autor: pabliszer
Jeśli plik będzie miał taką forme to:

Kod: Zaznacz cały

cat test.txt |cut -d "|" -f 3-3 |sed -e 's/^-//g'|sed -e 's/-$//g'
lub 
cat test.txt |awk -F "|" '{print $3}' |sed  -e 's/^-//g' -e 's/-$//g'
Pewnie można to zrobić na 1000 innych sposobów.

: 06 grudnia 2014, 14:15
autor: dejron
Niestety jak wydaję to polecenie wyskakuje mi "cat: cred.txt: Nie ma takiego pliku ani katalogu" a plik jest i jest w katalogu i jest to plik txt. Macie jakiś pomysł co do tego ?

: 06 grudnia 2014, 14:28
autor: pabliszer
Wydając to polecenie musisz być w katalogu z tym plikiem.

: 06 grudnia 2014, 14:30
autor: dejron
tak wiem i jestem i wyskakuje cat: cred.txt: Nie ma takiego pliku ani katalogu

: 06 grudnia 2014, 15:17
autor: dejron
znalazłem coś takiego ale nie wiem jak ten skrypt przerobić żeby pasowało do mojej struktury pliku z adresami e-mail

grep 'mailto:' plik |sed -e 's/^.*mailto://' |sed -e 's/">.*$//' > plik.txt

Ten skrypt ma za zadanie pobranie ciągu znaków (np. adresów e-mail) z plików i umieszczenie ich w jednym pliku tekstowym

: 06 grudnia 2014, 16:10
autor: dejron
Poszło mi przy tej komendzie

cat test.txt |awk -F "|" '{print $3}' |sed -e 's/^-//g' -e 's/-$//g'

a da się do niej dopisać regułe żeby te e-maile zapisał w oddzielnym pliku txt ?

: 06 grudnia 2014, 16:54
autor: pabliszer
dejron pisze:Poszło mi przy tej komendzie

cat test.txt |awk -F "|" '{print $3}' |sed -e 's/^-//g' -e 's/-$//g'

a da się do niej dopisać regułe żeby te e-maile zapisał w oddzielnym pliku txt ?
Przekieruj sobie wyjście do pliku.

Kod: Zaznacz cały

[color=#333333]cat test.txt |awk -F "|" '{print $3}' |sed -e 's/^-//g' -e 's/-$//g' > plik[/color]