쉘스크립트 특정 문자열 있는 라인의 다음 행 출력방법?
글쓴이: choijuo / 작성시간: 화, 2020/05/19 - 11:17오전
안녕하세요 쉘스크립트 질문 있습니다!
다음과 같은 txt 파일이 있습니다
test.txt 을 vi 로 열면 다음과 같이 나옵니다
[p1]
seq=1
pr=13
pt=15
dev=ke_3p
ad=/asd/asd
port=10000
[p2]
seq=2
pr=13
pt=15
dev=ke_ge
ad=/asd/qwe
port=96000
여기서 seq=1 일때 port=10000 값이랑
seq=2 일때 port=96000 값을 변수에 담으려고 하는데 어떻게 해야할까요??
라인별로 있다보니 방법을 잘 모르겠네용... 도와주세용 ㅠ
Forums:
대충 어거지로 코딩했는데 결과는 나옵니다,,,
대충 어거지로 코딩했는데 결과는 나옵니다,,,
진짜 깔끔한건 JSON 포맷으로 맨들어서 화면에 뿌리면 젤 조아요~
[우분투 18.04 파여폭스 나비에서 적었어요~]
파이썬이라...
답변감사합니다. 근데 파이썬은 잘 몰라성 ㅠㅠ
JSON 포맷 실험 기록합니다~
소스코드 주소: https://gitlab.com/soyeomul/test/-/commit/8c0e0b4af38ddada9da3e02cda0613182f85cb4d
[우분투 18.04 파여폭스 나비에서 적었어요~]
--
^고맙습니다 감사합니다_^))//
음 ..
되면 한다! / feel no sorrow, feel no pain, feel no hurt, there's nothing gained.. only love will then remain.. 『 Mizz 』
감사합니다
혹시 설명해주실수 있으신가요?? 잘 이해가 안가서욤..
음 ..
어느 부분이 이해가 안 가시나요?
sed 까지만 끊어서 실행해 보시면 아시겠지만..
seq=1 또는 seq=2 로 시작해서 [ 가 나오기 전까지의 문자를 모두 출력하고..
port 부분만 잘라낸 겁니다.
되면 한다! / feel no sorrow, feel no pain, feel no hurt, there's nothing gained.. only love will then remain.. 『 Mizz 』
음 ..
eval 은 주어진 문자열을 해석해서 실행해 주는 bash 의 내장 명령어입니다.
grep 으로 걸러낸 결과가 port=96000 의 문자열이니..
앞에 eval 을 붙이면 문자열이 실행되어, port 라는 변수에 96000 이 들어가게 되겠죠.
참고..
그냥 값만 필요하면 cut 으로 잘라내면 됩니다.
되면 한다! / feel no sorrow, feel no pain, feel no hurt, there's nothing gained.. only love will then remain.. 『 Mizz 』
감사합니다
감사합니다
https://mug896.github.io/bash
https://mug896.github.io/bash-shell/ 문서 참고 하셔서 코드를 이해해 보려고 노력해 보세요.
아래 코드는 해당 문서 포맷을 변수화 하는 것을 중점으로 만들었습니다.
출력 결과
예를 들어, seq=2 인 경우는 [p2] 센셕의 port 값이니, ${var[p2,port]} 를 호출하면 되는 겁니다.
감사합니다
감사합니다 이제 이해가 잘되네요
댓글 달기