Сохранение столбцов CSV-файла на основе состояния столбцов строки заголовка

Фигурные скобки {и }вокруг переменных неверны, а экранированная косая черта \/не работает.

Я изменил $destи $nameна комбинированный $destи добавил значения по умолчанию. Для размера я добавил небольшую подсказку для наиболее распространенных размеров.

#!/bin/bash

defaults=( 1g HFS+ "my volume" ~/Desktop/myvolume.dmg )

read -ep "Enter the size (??m|??g|??t) [${defaults[0]}] " size 
read -ep "Enter the filesystem (HFS+, JHFS+, APFS, FAT32, ExFAT, UDF) [${defaults[1]}] " fs
read -ep "Enter the volume name [${defaults[2]}] " volname
read -ep "Enter the image destination [${defaults[3]}] " dest

hdiutil create -size "${size:-${defaults[0]}}" -fs "${fs:-${defaults[1]}}" -volname "${volname:-${defaults[2]}}" "${dest:-${defaults[3]}}"
0
08.07.2020, 14:58
1 ответ

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

Пр.

$ awk -F, '
  BEGIN {OFS=FS}
  NR==1 {
    for(i=1;i<=NF;i++) if($i=="" || !seen[$i]++){inds[i]=1; lasti = i}
  }
  {
    for(i=1;i<=NF;i++) if(inds[i]) printf "%s%s", $i, i==lasti ? ORS : OFS
  }
' file.csv
,,,fr,ch
num,nom,date reg,match flag,match flag
0001,AA,2020-05-15,reg1,reg2
0002,AAA,2020-05-20,,reg3
0
18.03.2021, 23:21

Теги

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