Учитывая список файлов, некоторые дубликаты, некоторые нет, показать контрольную сумму только дубликатов

Вы должны проверить официальную документацию , в которой говорится (после первого примера):

You will note that auto eth0 and iface eth0 inet manual are not in the file. This is because br0 will bring up the components assigned to it.

Нет смысла настраивать адаптеры Ethernet, подключенные к мосту, поскольку они просто используют общий IP-адрес моста.

Причина, по которой вам не удалось добавить маршрут вручную, заключается в том, что вы не воспроизвели шаги в сценариях инициализации. Если вы установите IP на enp0s8, то система позволит вам добавить маршрут. Опять же обратите внимание, что это неправильно и сделает маршрутизацию более сложной (, особенно если вы используете расширенные маршруты, переадресацию или NAT ).

Чтобы воспроизвести сценарии инициализации системы, после удаления всех соответствующих маршрутов и удаления моста, если он уже существует:

brctl addbr br0
ifconfig enp0s8 192.168.1.0/24
ifconfig br0 192.168.1.0/24

Это заставит ip routeвыводить оба маршрута. Если вы добавите enp0s8к мосту, это больше не будет работать. Вы просто получаете немного ненормальный результат из-за явно плохой конфигурации.

0
31.07.2019, 04:10
3 ответа
$ sort file.txt \
| grep -f <(cut -d' ' -f1 file.txt | sort | uniq -d) \
| awk 'last && last != $1 { printf "\n" }; { last=$1 ; print}'

542ed609dfc4d0cae44c4b7be6d66382 mba.txt
542ed609dfc4d0cae44c4b7be6d66382 tyrion final.txt

5ee434a2ebcf4c3c98ee07e9c1efddc0 foo.txt
5ee434a2ebcf4c3c98ee07e9c1efddc0 imac.txt

(Спасибо "cas" за предложение awk.)

(И спасибо "steeldriver" за то, что заметил ошибку.)

4
28.01.2020, 02:13

С перловым хэшем массивов:

$ perl -alne '
    push @{ $h{$F[0]} }, $_ 
    }{ 
    for $k (sort keys %h) {
      @a = @{ $h{$k} }; 
      print join "\n", @a, "" if $#a  > 0
    }
' file.txt
542ed609dfc4d0cae44c4b7be6d66382 mba.txt
542ed609dfc4d0cae44c4b7be6d66382 tyrion final.txt

5ee434a2ebcf4c3c98ee07e9c1efddc0 foo.txt
5ee434a2ebcf4c3c98ee07e9c1efddc0 imac.txt

Обратите внимание, что после последней записи печатается пустая строка. sortявляется необязательным.


Аналогичная вещь в GNU awk:

gawk '
  {a[$1][NR] = $0} 
  END {
    for(k in a){
      if(length(a[k]) > 1) {
        for(v in a[k]) print a[k][v];
        print "";
      }
    }
  }   
' file.txt
2
28.01.2020, 02:13

С sortиuniq

sort file.txt | uniq -w 32 --all-repeated=separate
542ed609dfc4d0cae44c4b7be6d66382 mba.txt
542ed609dfc4d0cae44c4b7be6d66382 tyrion final.txt

5ee434a2ebcf4c3c98ee07e9c1efddc0 foo.txt
5ee434a2ebcf4c3c98ee07e9c1efddc0 imac.txt
  • -w 32ограничивает uniqсравнение с хешем MD5 (, поэтому считает равными строки с одинаковым MD5)
  • --all-repeated=separateпоказывает дубликаты, разделяя группы пустой строкой
3
28.01.2020, 02:13

Теги

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