Необходимо получить выход Awk в определенной последовательности

Данные в файле:

  1234567-5678907
 3456789-1234563
 3456789-1234567
 ,
 ,
 ,
 ,
 N 

Теперь я хочу получить результат в следующем формате:

  1234567-5678907,3456789-1234563,3456789-1234563 .... п 

Я использовал команду ниже, но я получаю дополнительную запятую в начале:

awk -F"-" ' {printf ",%s-%s",$1,$1} END{print""}' 

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

2 Solutions collect form web for “Необходимо получить выход Awk в определенной последовательности”

Используя разделитель выходной записи Awk, ORS :

 awk 'BEGIN{ORS=",";}1' infile 

Уже существует решение, основанное на paste в комментарии выше. Но если вы предпочитаете awk , вот awk решение:

 awk 'BEGIN{RS="";OFS=","};$1=$1' 

Он не создает ложную запятую в конце и правильно завершает вывод с помощью новой строки.

  • suid скрипт работает неправильно
  • Как ввести пароль для нескольких окон?
  • Запустить скрипт на / dev / tty-доступ
  • Как совместить суффикс имени файла
  • Как извлечь положительные числа в первом столбце из вывода, как в вопросе?
  • Захват jq - как правильно использовать захваченную строку
  • как я могу извлечь имя SubDir 4 deep & put в использование Var 4 позже?
  • Как отобразить все символы между двумя конкретными строками?
  • выполнение псевдонимов переменной в bash
  • Отправка самого последнего созданного файла по электронной почте
  • Сортировка нескольких столбцов
  • Interesting Posts
    Linux и Unix - лучшая ОС в мире.