Нужно найти пересечения текстовых файлов (ранее были xls) по части строки - так называемому идентификатору. Повторы одного и того же идентификатора в разных файлах помог скрипт:
#!/bin/sh
ls *csv | while read FNAME
do
grep -v "Дата отп." $FNAME | perl -pe 's#^.*(<.+\d+>).*$#$1#' > list;
cat list | while read LINE; do grep "$LINE" *csv; done | grep -v "$FNAME";
done
"Дата отп." - регулярное выражение для отбрасывания лишних строк, например заголовков повторяющихся в каждом файле,
's#^.*(<.+\d+>).*$#$1#' - регулярное выражение, для извлечения из строки идентификатора, в данном случае ищем что-то вроде <... 123456>.
#!/bin/sh
ls *csv | while read FNAME
do
grep -v "Дата отп." $FNAME | perl -pe 's#^.*(<.+\d+>).*$#$1#' > list;
cat list | while read LINE; do grep "$LINE" *csv; done | grep -v "$FNAME";
done
"Дата отп." - регулярное выражение для отбрасывания лишних строк, например заголовков повторяющихся в каждом файле,
's#^.*(<.+\d+>).*$#$1#' - регулярное выражение, для извлечения из строки идентификатора, в данном случае ищем что-то вроде <... 123456>.
Комментариев нет:
Отправить комментарий