Все еще плохо знаком с кодированием и испытываю трудности с подключением команд для получения требуемого вывода.
У меня есть файл данных в следующем формате:
NationalCowID,TestDate,Batch,LN,DIM,YBr,year,CH4,PLS,qtl
206004574,20141208,6,2,92,1,2014,424.4410055,NA,1
206004573,20141209,6,2,93,2,2014,436.4504712,NA,4
206004575,20141207,6,2,91,1,2014,380.94688,NA,6
206004576,20141208,6,2,92,2,2014,424.4410055,NA,7
206004579,20141209,6,2,93,2,2014,436.4504712,NA,8
206004571,20141207,6,2,91,1,2014,380.94688,NA,9
В данных я хотел бы найти строки, в которых переменная YBr == 1, и заменить все столбцы в этой строке на *, за исключением NationalCowID или qtl. Затем распечатайте весь набор данных.
Это то, чего я пытаюсь достичь
NationalCowID,TestDate,Batch,LN,DIM,YBr,year,CH4,PLS,qtl
206004574,20141208,*,*,*,*,*,*,*,*,1
206004573,20141209,6,2,93,2,2014,436.4504712,NA,4
206004575,20141207,*,*,*,*,*,*,*,*,6
206004576,20141208,6,2,92,2,2014,424.4410055,NA,7
206004579,20141209,6,2,93,2,2014,436.4504712,NA,8
206004571,20141207,*,*,*,*,*,*,*,*,9
Я решил использовать sed и awk, но изо всех сил пытаюсь выйти за рамки основ и использовать команды в комбинации:
awk -F ',' '{ if ($3 == 1) sed '{s/$0/*/g}' print $0}'}' file1 > file2
Любое направление будет по-настоящему оценено!