On Wed, 27 Oct 2004 08:24:02 +0300, Narcis Radu <[EMAIL PROTECTED]> wrote:
> Salut!
>
> Se pare ca sunt prea adormit la ora asta si nu ma prind cum pot sa
> rezolv urmatoarea chestie:
>
> Se da un fisier cu niste linii de genul:
> http://one.site.or.anoter/to_a_file/fila_xxxx-tp.html, unde xxxx e un intreg
> Daca am gasit 2 linii cu acelasi xxxx, sa inlocuiesc a doua linie cu:
> http://one.site.or.anoter/to_a_file/fila_xxxx-tpi.html
>
> Orice idee e binevenita!
> Multam anticipat!
>
> Darkus
>
> ---
> Detalii despre listele noastre de mail: http://www.lug.ro/
>
>
$ cat 1.awk
/[0-9]+/ {
kk=$0; line=$0;
gsub(/[^0-9]/,"",$kk);
if ($kk in aa) {
gsub(/[0-9]+/, "X", line);
} else {
aa[$kk]++;
}
print line;
}
$ cat 1.txt
nasdnalnsd100
sdfkasdkas200sdlfnvl
sdpfjsfpsjd100aa
sdifgsdsdfsd300aaa
asdfjvasnvkas100dkkdkd
gns200sdksnlksd
$ awk -f 1.awk < 1.txt
nasdnalnsd100
sdfkasdkas200sdlfnvl
sdpfjsfpsjdXaa
sdifgsdsdfsd300aaa
asdfjvasnvkasXdkkdkd
gnsXsdksnlksd
Eu am inlocuit numarul cu X, poti face tu ce vrei cu linia curenta
modificand gsub(/[0-9]+/, "X", line).
Nota: am presupus ca ai un singur numar pe linie, altfel se
complica parsarea.
Se poate face si in perl, similar - manipularea stringurilor e si
mai flexibila.
peace,
_bogdan_
---
Detalii despre listele noastre de mail: http://www.lug.ro/