|
| FÃ¥ en delstreng ud af en streng Fra : Lars Stokholm |
Dato : 31-08-10 14:54 |
|
Hvilket værktøj skal jeg bruge til denne opgave?
Jeg skal have have hevet strengen "billede.jpg" ud af dette:
<img src="billede.jpg" width="400" height="400" alt="foobar">
Er det awk og i så fald hvordan? Jeg vil helst ikke bruge cut, i
tilfælde af, at der nu bliver flyttet rundt på elementerne.
Problemet er selvsagt at navnet "billede.jpg" ændrer sig.
| |
Martin Larsen (31-08-2010)
| Kommentar Fra : Martin Larsen |
Dato : 31-08-10 16:07 |
|
Lars Stokholm wrote:
> Er det awk og i så fald hvordan? Jeg vil helst ikke bruge cut, i
> tilfælde af, at der nu bliver flyttet rundt på elementerne.
Der er sikkert mange muligheder, men i awk fx:
cat fil | awk 'match($0, "<img src=\"([^\"]*)\"[^>]*>", a) { print a[1] }'
Hilsen
Martin
| |
Martin Larsen (31-08-2010)
| Kommentar Fra : Martin Larsen |
Dato : 31-08-10 16:24 |
|
Martin Larsen wrote:
> cat fil | awk 'match($0, "<img src=\"([^\"]*)\"[^>]*>", a) { print a[1] }'
Denne udgave er mere fejltolerant overfor ombyttede elementer:
cat fil | awk 'match($0, "<img[^>]*src=\"([^\"]*)\"[^>]*>", a) { print
a[1] }'
| |
Adam Sjøgren (31-08-2010)
| Kommentar Fra : Adam Sjøgren |
Dato : 31-08-10 22:03 |
|
On Tue, 31 Aug 2010 15:53:42 +0200, Lars wrote:
> Hvilket værktøj skal jeg bruge til denne opgave?
Det rigtige er nok at bruge en HTML-parser til hele dokumentet, men:
> Jeg skal have have hevet strengen "billede.jpg" ud af dette:
> <img src="billede.jpg" width="400" height="400" alt="foobar">
> Er det awk og i så fald hvordan? Jeg vil helst ikke bruge cut, i
> tilfælde af, at der nu bliver flyttet rundt på elementerne.
Perl er jo altid en mulighed:
$ echo '<img src="billede.jpg" width="400" height="400" alt="foobar">' > hep.txt
$ perl -nE "say \$1 while m/src=['\"]([^'\"]+)/g" hep.txt
billede.jpg
$ echo '<img src="hep.jpg">' >> hep.txt
$ perl -nE "say \$1 while m/src=['\"]([^'\"]+)/g" hep.txt
billede.jpg
hep.jpg
$
Mvh.
--
"Didn't matter to me what I said. Still doesn't, Adam Sjøgren
really." asjo@koldfront.dk
| |
Nelly (17-09-2010)
| Kommentar Fra : Nelly |
Dato : 17-09-10 05:02 |
|
On 31 Aug., 15:53, Lars Stokholm <lars.stokh...@gmail.com> wrote:
> Hvilket værktøj skal jeg bruge til denne opgave?
>
> Jeg skal have have hevet strengen "billede.jpg" ud af dette:
> <img src="billede.jpg" width="400" height="400" alt="foobar">
>
> Er det awk og i så fald hvordan? Jeg vil helst ikke bruge cut, i
> tilfælde af, at der nu bliver flyttet rundt på elementerne.
>
> Problemet er selvsagt at navnet "billede.jpg" ændrer sig.
sed er også en mulighed:
cat file |grep "\<img"|sed -e 's/"/\n/g'|grep .jpg
jhp
| |
|
|