awk를 사용하여 여러 유형의 값 (예 : 두 번째 소수점 이하의 모든 값을 반올림)을 사용하여 .csv 파일을 편집하고 싶습니다. 다른 행에도 float 값이 포함될 수 있지만 다른 행은 다른 방식으로 처리됩니다.awk를 사용하여 csv 파일의 여러 열을 편집하는 방법
한 행이 아래의 것과 같다고 가정하면 7 번, 8 번, 9 번 열을 편집하고 싶습니다. (실제로는 더 길지만 값의 모든 관련 유형이이 문제에 포함됩니다. 규모) :
L ,P_005 ,250.092 ,20.0 ,-0.80 ,0.803443 ,0.23342 ,0.83728329 ,0.0 ,0.0
는 출력해야
L ,P_005 , 250.092, 20.0, -0.80, 0.80, 0.23, 0.84, 0.0, E2=0.0
최대 이제했습니다 항상 사용하여 하나 개의 컬럼 "X"의 값 라운드 :
#/bin/sh
OLDIFS=$IFS
IFS = ","
file=$1
...
awk '{printf "%.2f",$x}' $1
...
IFS=$OLDIFS
나는 길에이 개념을 적용 어떻게 그래서
어디 수
- 편집 여러 열 및
- 표시 특정 옵션으로 각 열을 작성하지 않고도 전체 CSV 파일
? 나는 당신의 guestion 권리를 가지고있는 경우
간결하고 테스트 가능한 샘플 입력 및 예상 출력을 포함하는 [mcve]를 포함하는 질문. 스크립트, 입력 및 출력에'{}'편집기 버튼을 사용하십시오. 현재 사용하고있는 스크립트가 awk 구문과 틀린 것은 아닙니다. 우리에게 한 가지를 보여주고 그 질문을 난처하게하고 우리가 당신을 도우려고하는 것을 어렵게 만듭니다. –
조언 해 주셔서 감사합니다. 편집 내용이 요구 사항에 부합되기를 바랍니다 – krouch
샘플 입력/출력의 한 줄을 게시하면 그 한 줄의 입력에서만 작동하는 솔루션을 얻을 수 있습니다. 자신의 질문에 더 많은 노력을 기울일수록 (예 : 비오는 날 및/또는 사용자가 입력으로 예상 할 수있는 엣지 사례 포함) 강력한 솔루션을 얻을 가능성이 높습니다. –