BASH преобразует столбцы в строки с метками

#bash #shell

#bash #оболочка

Вопрос:

Я пытаюсь обработать содержимое файла с помощью bash.

Предположим, что содержимое состоит из меток и элементов, таких как:

 A 1,2,3,4
B 5
  

Теперь его нужно преобразовать в:

 A 1
A 2
A 3
A 4
B 5
  

Я пытался sed вставлять новую строку каждые n символов, но я не могу вставлять метки в новые строки, и они не разделяются, как ожидалось.

 sed -e "s/.{3}/amp;n/g" < test.txt
  

Результат:

 A 1
,2,
3,4

B 8
  

Любая помощь приветствуется…

Ответ №1:

попробуйте это

 awk -F "[ ,]" '{for(i=2;i<=NF;i  )print $1, $i}' i.txt
  

Вывод:

 A 1
A 2
A 3
A 4
B 5
  

Комментарии:

1. Спасибо за ваш ответ. Еще один вопрос… В файле 2 строки, но есть только 1 цикл. Когда цикл завершает обработку в первой строке, как он может узнать, что в этом файле есть строки rest, подлежащие обработке?