Как найти количество неупорядоченных пар из списка

Я хочу подсчитать количество неупорядоченных пар из списка.

Другими словами, у меня есть список:

ab ba ac bc 

и я хочу отобразить:

 2 ab 1 ac 1 bc 

  • печатать родительские каталоги полный путь вывода вывода
  • Сортировка не использует естественный порядок
  • Считайте уникальные строки только для заданного шаблона
  • linux сравнить текстовый файл
  • Как постоянно контролировать количество вхождений, проходящих через трубу
  • Полнофункциональная функциональность uniq
  • Удалять повторяющиеся строки попарно?
  • Удаление повторяющихся строк после сравнения первого шаблона и специального шаблона
  • 4 Solutions collect form web for “Как найти количество неупорядоченных пар из списка”

    Это звучит неплохо для perl :

     perl -F -lane '$count{join "", sort @F}++; END{print "$count{$_} $_" for sort keys %count}' < your-file 

    С gawk :

     gawk -F '' '{ print ($1 > $2) ? $2$1 : $1$2 }' | sort | uniq -c 

    Каждое поле соответствует одному символу ( -F '' ). Мы просто инвертируем символы, если первая больше второй в соответствии с текущей локалью (что не имеет значения). Затем мы сортируем результат и подсчитываем одинаковые последовательные строки с uniq -c .

    Вот общий способ с последними версиями GNU awk:

     gawk -i join ' { split($0, F, //) asort(F) h[join(F, 1, length(F), SUBSEP)]++ } END { asorti(h, x) for(k in h) print h[k], k }' infile 

    Или как отдельный скрипт:

    order.awk

     @include "join" { split($0, F, //) asort(F) h[join(F, 1, length(F), SUBSEP)]++ } END { asorti(h, x) for(k in h) print h[k], k } 

    Выполните его следующим образом:

     gawk -f order.awk infile 

    Вывод:

     2 ab 1 ac 1 bc 

    fish раковина:

     ⋊> ~ echo 'ab ba ac bc' | while read line; echo -n "$line" | sed -r 's|(.)|\1\n|g' | sort | xargs | tr --delete ' '; end | uniq -c 

    оболочка bash :

     bash-3.2$ echo 'ab ba ac bc' | while read line; do echo -n "$line" | sed -r 's|(.)|\1\n|g' | sort | xargs | tr --delete ' '; done | uniq -c 

    Вывод:

      2 ab 1 ac 1 bc 
    Interesting Posts

    ifconfig сделал мой сервер недоступным

    `find` return value: неправильная ли страница поиска?

    Runlevel3 (systemd) – цель для Opensuse 13.2 запускает GUI

    Цветной терминал под USS

    SSHD Password Feedback (Показать звездочки для персонажей)

    Создайте .tar.gz из каталога, опуская некоторые подкаталоги и добавляя только новые или измененные файлы

    Не удалось установить node.js в Debian

    В BASH есть способ прочитать имена переменных из переменной?

    Как добавить двойные кавычки в каждую строку, а затем добавить запятую в конце строки?

    Debian 7.6 OpenVZ VPS требует полного использования диска, когда это явно не так

    Как удалить прежний каталог MTP, который теперь дает мне ошибку ввода / вывода всякий раз, когда я пытаюсь?

    Запретить некоторые IP-адреса из определенной сети на Apache?

    Когда символическая ссылка рассматривается как вещь, на которую она ссылается, и как символическая ссылка?

    Как возобновить процесс из SSH-соединения?

    Что мне следует знать при установке Linux на Mac?

    Linux и Unix - лучшая ОС в мире.