PDA

Visualizza la versione completa : Bash estrarre sezione testo


moskitoita
24-11-2008, 23:28
Sto scrivendo uno script bash e ho un file html da cui devo estrarre solo la porzione di testo contenuta fra due blocchi di codice predefiniti, qual' lo strumento migliore?

Es:

abcdefg
[blocco1]
123456789abcd
[blocco2]
abcdefg

psykopear
24-11-2008, 23:40
Dai un occhiata qui (http://forum.html.it/forum/showthread.php?s=&threadid=1289228)

moskitoita
24-11-2008, 23:54
Originariamente inviato da psykopear
Dai un occhiata qui (http://forum.html.it/forum/showthread.php?s=&threadid=1289228)

Non devo inserire ma estrarre :(

cacao74
25-11-2008, 12:01
parti da questa bozza...


$ awk '/blocco1/,/blocco2/ {print $0}' tuo_file.txt

quindi adatta alle tue esigenze

ciao

moskitoita
25-11-2008, 15:57
Intanto grazie ad entrambi dell'aiuto. Awk potrebbe andare, solo che se sulla stessa linea c' qualcosa prima di [blocco] questo viene incluso.



questo non ci dovrebbe essere[blocco1]
123456789abcd
[blocco2]
abcdefg

restituisce




questo non ci dovrebbe essere[blocco1]
123456789abcd
[blocco2]

moskitoita
25-11-2008, 23:19
Ho trovato questa soluzione, non perfetta ma perfettibile


start=`expr match "$page" '<.*blocco1'`
end=$((`expr match "$page" '<.*blocco2`-$start))
echo `expr substr "$string" $start $end`

Loading