использование awk для поиска строк в файле1, которые не совпадают в файле2

My second question is - is there an easier way to configure all of this to allow simple internet access to guest os?

Вам не (или, по крайней мере, не следует )вручную что-либо настраивать для простого доступа в Интернет; QEMU автоматически справляется с этим. Он имеет некоторые ограничения, такие как отсутствие поддержки протокола ICMP (, используемого ping), невидимость для внешней сети и невозможность взаимодействовать с другими виртуальными машинами, которые работают таким же образом, но он хорошо работает для простого использования.. См. Arch Wiki для получения дополнительной информации.

1
15.05.2020, 19:42
4 ответа
awk -F'$' '
  FNR==NR{ if (FNR>1){ a[$2]++} next }
  $2 in a && a[$2]{ a[$2]--; next }
  1
' file2 file1

Сохраните значения file2в массиве и увеличьте значение счетчика, пропуская строку заголовка. Продолжайте со следующей строки.

Когда file1обрабатывается, проверьте, существует ли соответствующее значение в массиве и счетчик не равен -нулю. Если это так, уменьшите значение счетчика и перейдите к следующей строке.

В противном случае напечатать текущую строку.

1
28.04.2021, 23:13

Итак, это не awkи немного неаккуратно, но дает немного больше информации о совпадениях

join -a 2 -j 2 <(sort -k 2 legit) <(sort -k 2 charged)

и вариант awkвышеперечисленных

awk 'NR==FNR{legit[$2]++; next}{legit[$2]--}legit[$2]<0{legit[$2]=0; print}' legit charged
1
28.04.2021, 23:13
$ awk 'NR==FNR{cnt[$2]++; next} (FNR==1) || (--cnt[$2] < 0)' file2 file1
A            B
1/3/2020     $10.00
1/6/2020     $35.50
2
28.04.2021, 23:13

команда

awk 'NR==FNR{a[$2];next}!($2 in a){print $0}' file2 file1

выход

1/3/2020     $10.00
1/6/2020     $35.50
0
28.04.2021, 23:13

Теги

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