Объединение двух значений столбца в файл

У меня есть файл с (только с одной строкой) с несколькими столбцами, скажем, 4 (в данном случае):

ABCD 

И я хочу, чтобы результат был как всевозможная комбинация значений столбцов, принимающих 2 за раз, например:

 AB AC AD BC BD CD 

где AB и BA эквивалентны. Я пробовал код: sed 's! \([^ ]\+\)\( \|$\)!\1 !g' <file_name> sed 's! \([^ ]\+\)\( \|$\)!\1 !g' <file_name> но он дает результат как AB CD .

Пожалуйста, предложите, как это сделать, используя awk или любую команду оболочки.

One Solution collect form web for “Объединение двух значений столбца в файл”

С awk :

 awk '{for(i=1;i<=NF;i++){for(j=i+1;j<=NF;j++){print $i$j;}}}' file 

Это два вложенных цикла:

  • for(i=1;i<=NF;i++) цикл через все поля
    • for(j=i+1;j<=NF;j++) то для каждого поля цикл через все остальные поля (начинаться с i+1 )
    • print $i$j печатает оба значения поля.

Выход:

 AB AC AD BC BD CD 
  • Как удалить строки с пустым первым столбцом?
  • Использование sed (или что-нибудь полезное) для замены строк относительным содержимым
  • Как умножить и суммировать данные столбца с помощью awk и / sed?
  • Rsync-каталог, отфильтровывающий файлы и сохраняющие края (например, имена w / hyphen (-) chars)
  • sed для совпадения нуля или большего количества пробелов в строке
  • Простая замена вкладок табов таинственным образом
  • Правильно ли замените & & XML?
  • использование sed / awk в переменных сценария bash
  • Конкатенация последовательностей под заголовком
  • (Mac Terminal) sed для анализа JSON ... что я делаю неправильно?
  • Замените указанную строку на время ее появления с помощью sed или awk
  • Interesting Posts

    Как найти файлы, которые в последний раз были изменены в каталоге и его подкаталогах?

    Установлено соединение x11, но значение magic-cookie отличается?

    Путаница относительно низкой частоты кадров с Nvidia GeForge, но аппаратное рендеринг, похоже, работает?

    SOLVED: установка проигрывателя linux vmware "VMs running"

    В Linux, почему вам нужно быть root для записи в / proc / sysrq-trigger?

    Как заменить несколько пустых строк на определенную непустую строку?

    OpenSSH-Server: как я могу удаленно установить заголовок окна боковой панели клиента?

    / scripts / installimagemagick теперь устарела

    Скажите ли вы, что FreeBSD более стабильна, чем Linux?

    Как скопировать дату, меньшую, чем конкретная дата в файле

    Являются ли файлы определенными их блоками контента, inodes, обеими или именами файлов?

    Графический интерфейс не входит в систему

    Не удалось использовать Bluetooth-устройство в Debian Jessie 8.6

    Как настроить интервал между символами после определенной строки?

    Trouble update-rc.d remove'ing dnsmasq на Debian Stretch

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