bash 쉘스크립트 문자열 바꾸기 질문
쉘스크립트를 만지기 시작한지 얼마 안 되었습니다.
아래와 같은 작업을 하려고 하는데 잘 되지 않아서 질문 드립니다.
아래와 같은 파일에서 usa문단에 있는 name항목의 내용을, 변수로 입력받아서, 으로 바꾸려고 합니다.
조건은, name의 내용은 수시로 바꿀 일이 생깁니다. comment의 내용은 변경없이, name의 내용만 바꾸려고 합니다.
-------------------------------------------------
파일의 일부
-------------------------------------------------
[korea]
name=jong soo kim ' comment
add=daejeon ' comment
[usa]
name=tom jones ' comment
add=ohio ' comment
-------------------------------------------------
제가 아는 것이 sed 명령어라서 이것을 이용해서, 아래와 같이 라인 전체의 내용을 바꾸려고 해 보았는데 생각대로 안됩니다.
sed -i "/usa/,/name/tom/ c name=${변수} 'comment" file
name에 있는 내용(tom jones)만 ${변수}로 바꿀수 있으면 가장 좋겠지만,
안되면 그 라인 전체를 다시 바꾸는 방법도 괜찮습니다.
초보임을 감안하여 쉽게 설명해 주시면 더욱 감사하겠습니다.
p.s. 저의 설명이 부족하여 잘 이해가 안 되시는 것 같아, 다시 작성했습니다.
어떤 초기 상태에서 어떤 입력을 받아서 뭘 하고 싶은
어떤 초기 상태에서 어떤 입력을 받아서 뭘 하고 싶은 것인지 구체적으로 예를 들어서 설명해보세요.
지금 설명은 무의미한 문자열과 메타 변수들이 뒤섞여서 뭘 하고 싶다는 건지 이해가 어렵습니다.
꼭 "aaaaaa bbbb ccccc ddddd 'comment 를 (원래있던거) (바뀐거) (더좋은거)로 바꿔주세요" 이런 느낌입니다.
파이썬은 어떤가요~
스샷 올립니다~
--
^고맙습니다 감사합니다_^))//
sys.argv[1] 적용한 코드입니다~
[우분투 18.04 파여폭스 나비에서 작성했어요]
--
^고맙습니다 감사합니다_^))//
파이썬은 전혀 모릅니다만
새로운 과제를 주셔서 한번 살펴보도록 하겠습니다.
그런데, 이것을 쉘스크립트에서 가져다 사용할수도 있는지요?
예 쉘에서 실행가능합니다 ;;;
파이썬3 가 필요하구요 쉘에서 실행권한 주고 실행하심 됩니다.
[크롬북에서 적어요~]
감사합니다.
공부해 보겠습니다.
댓글 달기