У меня есть данные CSV с двумя ценовыми столбцами. Если в столбце $ 4 существует значение, я хочу скопировать его в столбец $ 3 той же строки. Если $ 4 пусто, то $ 3 следует оставить как есть.
Ни одна из этих работ:
awk -F',' '{ if (length($4) == 0) $3=$4 }'
awk -F',' '{ if(!length($4) == 0 ) print $4 }'
Это выведет каждую строку с таблицей сэмплов
awk -F',' '{ if(!length($4) == 0 ) print $0 }' inputfile
Это ничего не даст с таблицей образцов
awk -F',' '{ if(length($4) == 0 ) print $3 }' inputfile
Я очистил два моих входных файла, исправил строку заголовка и соединил их, используя sed, awk, sort и join. Теперь у меня есть CSV, который выглядит так:
itemnumber,available,regprice,mapprice
00061,9,19.30,
00061030,31,2.87,3.19
00062,9,15.44,
00062410,2,3.59,3.99
00064,9,15.44,
00066850,29,2.87,3.99
00066871,49,4.19,5.99
00066878,3,5.63,7.99
Мне нужно перезаписать столбец $ 3, если столбец $ 4 в той же строке имеет значение. Конечный результат будет:
itemnumber,available,regprice,mapprice
00061,9,19.30,
00061030,31,3.19,3.19
00062,9,15.44,
00062410,2,3.99,3.99
00064,9,15.44,
00066850,29,3.99,3.99
00066871,49,5.99,5.99
00066878,3,7.99,7.99