LINUX.ORG.RU

Нужна ваша помощь со скриптом на перле


0

0

Есть файл1 - строки, есть файл2 - строки. Нужно сформировать файл3 в котором будет файл1, но будут отсутствовать строки из файла2. Т.е если в файле1 встречается строчка присутствующая в файле2, то ее удалить. Вхождение сроки из файла 2 может быть частичным (не полное совпадение). Помогите пожалуйста, как это сделать на перле или в баше. Спасибо.

anonymous

Re: Нужна ваша помощь со скриптом на перле

for i in `cat file2`; do
  grep $i file1 >> file3.tmp
done

uniq file3.tmp file3

rm -f file3.tmp

ananas ★★★★★
()
Ответ на: Re: Нужна ваша помощь со скриптом на перле от ananas

Re: Re: Нужна ваша помощь со скриптом на перле

Спасибо, но к сожелению не то.
нужно чтобы file3 был копией файла1 но в нем отсутствовали те строки
которые похожи на строки файла2.
Пример:
файл1:

aaaa
sss
xxxxx
gfgfgfgf
,,,,SPARTAK CHAMPION ;;;;;
uuukkk999jjjjjj

файл2:
ss
99
SPARTAK

В файле3 должно быть:
aaaa
xxxxx
gfgfgfgf

Как такое сотворить??


anonymous
()

Re: Нужна ваша помощь со скриптом на перле

perl -ne 'BEGIN{ for(split /(?<=\n)/, `cat file2.txt`){ $h{$_}++ } } print unless(exists $h{$_})' file1.txt

:)

anonymous
()
Вы не можете добавлять комментарии в эту тему. Тема перемещена в архив.