Intereting Posts
Переименование файлов с расширением нижнего регистра с «переименованием» Отправлять журналы на несколько серверов syslog LFTP –exclude предотвращает создание файла журнала Пересечение строк в файле с использованием bash и переход к переменной. Результирующая переменная – это не то же значение, что и файл, почему? Что делает опция -hint в команде поиска grub2? Как я могу исправить следующую ошибку зависимости библиотеки gmp при попытке установить Charm? предоставление заданий для получения трех узлов, выполняющих параллельные казни Можно ли контролировать, какой монитор считается основным монитором? Определяет ли Debian, что означает соответствие GPL для целей упаковки? Тестирование, если переменная пуста в сценарии оболочки Отдельное рабочее пространство на монитор в XFCE Почему TOP никогда не показывает, что использование процессора достигает 100%? Настройка iptables по программному обеспечению Создать ключ не работает Код выхода Ansi в VIM

Как я могу показать, сколько строк позиций переместилось в diff-выход?

top1

1,facebook.com 2,google.com 3,youtube.com 4,yahoo.com 5,wikipedia.org 6,baidu.com 7,live.com 8,amazon.com 9,qq.com 10,twitter.com 

top2

 1,facebook.com 2,google.com 3,youtube.com 4,yahoo.com 5,baidu.com 6,wikipedia.org 7,live.com 8,qq.com 9,amazon.com 10,twitter.com diff -u /Users/stofke/Desktop/top2a.csv /Users/stofke/Desktop/top1a.csv | sed -n '1,2d;/^[-+]/p' | sort --field-separator=',' --key=2 +9,amazon.com -8,amazon.com +5,baidu.com -6,baidu.com +8,qq.com -9,qq.com +6,wikipedia.org -5,wikipedia.org 

Но мне это действительно нужно:

  +1, amazon.com -1 baidu.com -1 qq.com +1 wikipedia.org 

Я не знаю, как сделать этот последний шаг

(Мне также нужно будет рассчитать процентное снижение или повышение)

Добавление | paste -d, - - | paste -d, - -

получает меня это

 +9,amazon.com,-8,amazon.com +5,baidu.com,-6,baidu.com +8,qq.com,-9,qq.com +6,wikipedia.org,-5,wikipedia.org 

Вы также можете рассмотреть подход, использующий join поскольку в конце вы хотите отсортировать вывод. Подобно:

 join -t, -j2 <(sort -t, -k2 file1) <(sort -t, -k2 file2) | awk -F, '{n=$3-$2; if (n) print n, $1}' 

Использование awk

 awk -F, ' NR == FNR {n[$2] = $1; next} {n[$2] -= $1} END {for (k in n) if (n[k] != 0) printf " %2d %s\n",n[k],k} ' top1 top2 

выходы

  -1 amazon.com 1 qq.com -1 wikipedia.org 1 baidu.com 

заказ не гарантируется.