[awk or sed] 파일안에 있는 글자 바꾸기
글쓴이: rimuzzang / 작성시간: 일, 2005/09/25 - 9:20오후
또 질문입니다.
예를 드는 것이 가장 빠를것 같군요.
data.txt name choi age 24 grade D name hong age 22 grade C name min age 28 grade A
이렇게 저장되어 있다고 할 때
쉘 스크립트에서 2번째 라인의 hong 과 22 와 C를 다른
정보로 바꾸고 싶다고 하면 어떻게 하면 좋을까요?
입력으로는 line 번호를 변수로 받습니다.
read INPUT_NUMBER input_data # 정보들을 받아서 변수에 넣는 함수 #INPUT_NAME, INPUT_AGE, INPUT_GRADE에 저장 sed ?
-----------------------------------------------------------------------
별의별 시도를 다해봤습니다만 실패해서 결국 질문을 하여 봅니다.
심지어
sed "$INPUT_NUMBER q" | awk '{print $2}' > temp
이런식으로 파일에 저장했다가 다시 불러오는 비효율적인
코드를 양산해보았으나 실패하였습니다.
Forums:
[code:1]#!/bin/shread numname=fo
이런 식으로 일단 shell script의 변수를 awk로 전달해 주는 게 필요합니다.
그런 다음에 필요한 라인을 만나면 필드값을 변경해 주고 그렇지 않으면 그냥 통과시킵니다.
출력을 새로운 파일로 리다이렉션한 다음 파일명을 다시 바꿔 주어야 하는 귀찮음은 여전히 남아 있습니다만 이정도면 괜찮지 않을까 싶네요. :)
꼭 sed와 awk를 고집해야 할 이유가 없다면 perl이나 다른 스크립트도 고려해볼만 합니다.
-----
http://monpetit.posterous.com/
http://monpetit.tistory.com/
답변 감사드립니다.
계속 같은 분이 대답해주시네요.
감사합니다. !
말씀하신 perl 책을 빌려야 겠네요. !
이 정보도 감사드립니다!
왕새우를 좋아합니다.
댓글 달기