Команда оболочки для установки буфера обмена tmux

awkрешение:

awk -F'|' 'NF>1 && $2~/[^,]+,[^,]*/{ 
           len=split($2,a,","); 
           for(i=1;i<=len;i++) { 
               if(a[i]!="") print $1,a[i] 
           } 
           next }1' OFS='|' file

Выход:

Item1|keys
Item1|books
Item1|helmet
Item1|handle
Item2|Bike
Item3
Item4|Tyre
Item4|brakes
Item4|headlight
Item4|clamps
Item4|rollergrip
Item5|Nails
Item5|hammers

Детали:

  • -F'|'-разделитель полей

  • NF>1 && $2~/[^,]+,[^,]*/-учитывает как минимум 2 поля со значениями, разделенными запятыми -во втором поле

  • len=split($2,a,",")-разделить второе поле на массив aс помощью разделителя ,. Переменной lenприсваивается размер массива (количество чанков)

  • for(i=1;i<=len;i++)перебор " фрагментов "

  • if(a[i]!="") print $1,a[i]-распечатать все связанные последовательности, кроме пустых значений

0
22.08.2019, 15:05
1 ответ
echo aaaaaaaaaaaaaaaaa|tmux load-buffer -
0
28.01.2020, 03:20

Теги

Похожие вопросы