특정 컬럼만을 추출하는 방법
글쓴이: parkon / 작성시간: 화, 2015/01/20 - 8:01오후
각 라인이 80칸으로 구성된 큰 용량의 아스키 파일이 있습니다.
이 중에서 칼럼 기준 예를 들어 22~24칸만 뽑아내고 싶습니다.
예를 들어, 원 파일이
123456789012345678901abc1234....
123456789012345678901def1234....
이렇게 되어 있다면
abc
def
이렇게 뽑아내고 싶습니다.
물론 위에서 숫자나 abc등은 예시이고 실제론 공백이나 아스키 문자들입니다.
어떻게 할 수 있을런지요 ?
Forums:
재밌는 생각이 들었습니다.
바이트 배열을 마스크로 쓰는 방법이 떠올라서 구현해봤습니다.
file_mask: 해당 값을 읽을지 말지를 결정하는 마스크 배열. 0이면 넘어가고 그 외의 경우 읽는다.
아래 프로그램은 지정한 행의 값을 차례대로 읽어 file_data 배열에 저장한 후, 저장된 값을 모두 출력하는 프로그램입니다.
- 소스 코드 -
- input.txt -
- 입력 -
- 출력 -
저는 이렇게 생각했습니다.
와우, 코드를 짜 주셨군요. 감사합니다... ^^
와우, 코드를 짜 주셨군요.
감사합니다... ^^
cut -b 22-24 in.txt
아주 간단하고 멋진 방법이군요, 감사합니다. 한가지
아주 간단하고 멋진 방법이군요, 감사합니다.
한가지 더 질문드리면,
그럼 혹시 22-24칸을 출력하고 그더음 2-3칸을 출력하려면 어떻게 해야 될까요 ?
위의 예의 경우
abc 23
def 23
이런 식으로 출력이 되는 식으로요.
cut -b22-24,26-27
입니다만, 중간에 공백을 두는 것은 좀 까다롭겠네요.
awk를 쓰는게 더 나을 듯요.
아, 정말 감사드립니다... !!
아, 정말 감사드립니다... !!
cut -b22-24,26-27
댓글 달기