Фигурные скобки {
и }
вокруг переменных неверны, а экранированная косая черта \/
не работает.
Я изменил $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]}}"
Вам нужно перебрать поля первой записи, условно добавляя их индексы в список; затем переберите поля каждой записи и распечатайте поля, индексы которых находятся в этом списке.
Пр.
$ 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