( pomm | 2013. 10. 30., sze – 12:57 )

Sziasztok!

Kis segítséget kérnék, megakadtam...Gondolom nem látom a fától az erdőt, de nem jön össze.
Van két fájlom. uj.txt regi.txt
Az uj.txt fájlban lévő több ezer sor közül ki szeretném törölni, amit már tartalmaz a regi.txt
A fájlok így néznek ki
valamilyen név|12345|valamilyen szöveg
Ezzel próbálkozom, de nem megy

#!/bin/sh
for i in $(cat regi.txt); do
for j in $(echo $i | cut -d"|" -f2); do
sed -i "/$j/d" uj.txt
done
done

Mit nézek be?
Ha ki echo-zom, akkor szépen kiírja a számokat (második oszlop). Ha a sednek a $j helyett megadok egy számot simán törli a sort, ahogy kellene, de így nem működik. Az összes sort meghagyja.
Próbáltam így is:

#!/bin/sh
for i in $(cat regi.txt); do
for j in $(echo $i | cut -d"|" -f2); do
sed -e "/$j/d" uj.txt > test.txt
done
done

Ekkor az összes sort beleírta a test.txt fájlba...

Előre is köszönöm!

üdv: pomm

A 852-es kídlap telepötúsa sikeresen befejezádétt