сравнить определенное количество строк между столбцами двух файлов

Для одноразовой передачи файлов вы можете использовать woos (Интернет предлагает один поток):

http://fex.belwue.de/fstools/woos.html

Если вам нужно отправить или получить БОЛЬШОЙ файлы чаще стоит смотреть на F * EX:

https://fex.rus.uni-stuttgart.de/

0
18.04.2019, 22:56
1 ответ

Хм. Я думаю, что я бы сделал цикл for по файлам и сравнил их с comm.

/tmp ❯ comm -3 <(cat file1.txt|awk '{print $2}') <(cat file2.txt|awk '{print $2}')                                    ⏎
30
30
    40
    40

Обратите внимание, что из файлов выводятся числа 30 и 40. Некоторое базовое использованиеcomm:comm -1 -3 <(sort -u FILE1.txt) <(sort -u FILE2.txt)

  • -1 подавлять строки, уникальные для ФАЙЛА1
  • -2 подавленные строки, уникальные для ФАЙЛА2
  • -3 скрытых строки, которые появляются в обоих файлах

Итак, чтобы собрать все это воедино что-то вроде:

cd /path/to/files && find. -type f -name "*.txt" | while read filename
do
   echo "*** Checking $filename ***"; comm -3 <(cat reference.txt|awk '{print $2}') <(cat $filename|awk '{print $2}'); echo "";
done
0
28.01.2020, 03:49

Теги

Похожие вопросы