주어진파일.csv:
a,b,c
1,2,3
어쩌다mlr
산출:
a,b,c
1,2,c
태그 이름 사용$c
아니요$c
"를 포함하는 문자 를 미리 알아 두십시오 .씨"?
참고: 정답을 mlr
사용해야 합니다.
답변1
수정된 답변
안녕하세요, 이 스크립트를 사용할 수 있습니다
mlr --csv put 'if (NR == 1) {
counter=1;
for (key in $*) {
if (counter == 3) {
$[key]=key;
}
counter += 1;
}
}' input.csv
결과는 다음과 같습니다.
a,b,c
1,2,c
NR == 1
첫 번째 행을 가져오고 counter == 3
세 번째 필드를 가져옵니다.
답변2
간단하게awk
:
awk 'BEGIN{ FS=OFS="," }{ (NR == 1)? c=$NF : $NF=c }1' file.csv
예제 출력:
a,b,c
1,2,c
답변3
밀러 v5.6.0허가를 받아$[[fieldno]]
필드 이름을 참조하는 값"플드노"이므로 귀하의 경우 필드 3의 이름은 입니다 $[[3]]
.
mlr --csv put '$c = $[[3]]' file.csv