쉘 스크립트 for문에 대해 질문이 있습니다.
글쓴이: silence4004 / 작성시간: 월, 2020/03/30 - 2:12오전
최근에 쉘 스크립트를 공부하고 있는데 도저히 안되는 것이 있어서 질문합니다.
for문을 이용해서 grep 문법을 쓰는데 조건이 주어진 변수를 grep문법과 |를 이용해서 모두 연결해야 합니다.
그래서 원래
처음 문장 | grep $1 | grep $2 | 이후 문장
이렇게 할 것을
처음 문장 |
for x in 1 2
do
grep $x |
done
이후문장
이렇게나 done |으로 바꿔서 할려고 했더니 done에서 syntax error near unexptected token 'done'이 일어나서 못하고 있고
처음 문장 |
for x in 1 2
do
grep $x
done |
이후문장
이렇게 하면 grep $1만 적용되고 $2는 안된 채 이후문장이 이어집니다.
1 2를 한 것은 예시이고 실제로는 변수 갯수가 주어져 있지 않아서 $@로 해서 진행을 시켜야 하는데 여기에서 막혀서 어떻게 해야할지 모르겠습니다 ㅠㅠ 도와주시면 감사합니다 ㅠㅠ
Forums:
...
Recursive하게 하면 될지도요?
감사합니다! 해결됐습니다!
처음에 이것을 그대로 썼었는데 결과가 모든 변수에 대한 것들이 다 나와서 뭐가 문제인가 고민했었는데 이 함수대로 하면 grep이 다 쌓인 상태에서 cat data로 변수를 싹다 갈아엎고 문장 만들어내는 것이여서 바꿔야 했네요. cat data를 if쪽에서 dogrep 함수를 다 만든 뒤에 붙여서 시작점으로 삼고 if쪽에는 문장 만들어내는 것을 넣어내니 해결이 됐습니다. 정말 감사합니다!
댓글 달기