Серийный разделитель после использования AWK

awk -F ';' '{print $1}' FileName 

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

Теперь мне нужно пропустить вывод вышеприведенной команды. Если мой вывод

 0 1 2 

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

Есть ли способ распечатать вывод что-то вроде ниже

 0;1;2 

Так что я могу повторить, говоря, что разделитель;

3 Solutions collect form web for “Серийный разделитель после использования AWK”

во избежание получения точки с запятой

  awk -F\; 'NR>1 { printf ";" ;} {printf "%s",$1;} END {printf "\n"} ' 
  • printf не печатает строку
  • NR>1 только печать после первой строки
  • END печатает после последней строки.

awk выводит значение ORS (разделитель выходной записи) в конце каждого оператора print . По умолчанию это новая строка, но вы можете ее изменить:

 $ cat foo.txt 0;3;6 1;4;7 2;5;8 $ awk -vORS=';' -F';' '{print $1} END {printf "\n"}' foo.txt 0;1;2; 

Я добавил END {printf "\n"} чтобы получить новую строку в конце вывода.

Вы также можете пойти с coreutils:

 <foo.txt cut -d';' -f1 | paste -sd';' 
  • Заменить значения в файле
  • Нужна команда для отображения эха «успех»
  • Использование basename для расширения расширений файла и поиска файлов с тем же именем
  • Вывод NamingVariable для нескольких файлов в сценарии Bash
  • Параллельное выполнение программы по нескольким файлам
  • Как запросить ввод от пользователя из переменной или массива bash?
  • bash читает новую строку, printf сообщает символ 0
  • Как я могу запустить этот скрипт python во всех html-файлах под каталогом?
  • Как проверить, существует ли несколько файлов?
  • Сценарий оболочки - помощь в обработке текста
  • shell: разделение столбцов с помощью awk-стопов, если найдено не целое число
  • Linux и Unix - лучшая ОС в мире.