LINUX.ORG.RU

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


0

0

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

anonymous

Ответ на: комментарий от ananas

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

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

файл2:
ss
99
SPARTAK

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

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


anonymous
()
Ответ на: комментарий от anonymous

да, это я немного ступил.

#! /bin/sh

cp f1 f3

for s in `cat f2`; do 
  grep -v $s f3 > f4 
  mv f4 f3 
done 

ananas ★★★★★
()
Ответ на: комментарий от anonymous

и даже короче:

perl -ne 'BEGIN{++$h{$_} for `cat file2.txt`} $h{$_} || print' file1.txt

плохой, плохой язык perl... то ли дело читабельный Python :)))

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