[완료] Bash Shell에서 특정문자 연산하는 방법 문의
안녕하세요, 눈팅만 매번 해오다가 처음으로 글을 올려보네요.
서론은 생략하고 본론부터 말씀드리겠습니다.
제가 궁금한 것은 아래와 같습니다.
135913.772,5546.0584,03737.4819
135914.776,5546.0563,03737.4908
135915.772,5546.0542,03737.4995
135916.772,5546.0519,03737.5082
135917.772,5546.0496,03737.5168
135918.772,5546.0472,03737.5253
...
이러한 문자열이 파일로 존재하는데 "," 문자를 기준으로 첫번째 수인 [0-9][0-9][0-9][0-9][0-9][0-9].[0-9][0-9][0-9] Format의 수를 반올림하여 [0-9][0-9][0-9][0-9][0-9][0-9] Format으로 대치하고 싶습니다.
제가 원하는 결과로 변환해보자면
135914,5546.0584,03737.4819
135915,5546.0563,03737.4908
135916,5546.0542,03737.4995
135917,5546.0519,03737.5082
135918,5546.0496,03737.5168
135919,5546.0472,03737.5253
...
이런 형식으로 변환하여 파일로 저장하고 싶습니다.
sed 명령을 통해 문자를 대치할 수는 있지만 위와 같이 연산은 불가하여 이렇게 문의를 구합니다.
방법이 없을까요?
??
??
sed로는 많이 어려울것 같네요. 능력자분이 계실지도
sed로는 많이 어려울것 같네요. 능력자분이 계실지도 모르겠지만..
awk로 하는게 적당해 보입니다.
첫번재 컬럼이 [0-9][0-9][0-9][0-9][0-9][0-9].[0-9][0-9][0-9] Format 에 맞지 않으면 어떻게 출력하는 건가요?
포맷 신경쓰지 않고 무조건 첫번째 컬럼은 반올림하는것은 쉽습니다.
첫번째 컬럼이 포맷에 맞지 않는 경우 그 라인은 그대로 출력하는 스크립트는
아!! 그런방법이 있었네요!!
감사합니다. 덕분에 잘 해결했습니다.
음 ..
되면 한다! / feel no sorrow, feel no pain, feel no hurt, there's nothing gained.. only love will then remain.. 『 Mizz 』
댓글 달기