살아가는 이야기

bash for 루프 사용 예 본문

컴퓨터, 풀어그림

bash for 루프 사용 예

우균 2008. 7. 7. 11:18

bash for 루프 구문은 항상 사용할 때마다 잊어 버린다. 그리고 이것을 찾으려면 또 10분 정도를 허비한다. 그래서 여기에 간단한 for 루프 사용 예를 적기로 했다.

for file in $@; do
    echo $file;
done

이렇게 적으면 명령행 인수로 주어진 모든 이름을 출력한다.

현재 디렉터리에 있는 모든 .h 파일에 대응되는 .c 파일 이름을 출력하고 싶다면 아래와 같이 하면 된다.

for file in *.h; do
    echo `basename $file .h`.c;
done

유틸리티 프로그램 basename을 쓸 때, 그냥 작은따옴표(')가 아니라 역따옴표(`)를 사용한 것에 주의하자.

나 같은 사람들이 많았나보다. 다음 URL에 보니

http://spiralbound.net/2007/07/23/bash-for-loop-example

이런 코드 예도 있었다.

for i in $(seq 1 100); do
    echo -n "file${i} ";
    touch file${i} 2>&1;
done

이 코드는 file1부터 file100까지 생성하는 예다.
테스트해 본 다음에는 이와 유사한 다음 코드로 지우면 된다.

for i in $(seq 1 100); do
    /bin/rm file${i};
done

세상엔 정말 여러 사람들이 살지만, 모두 비슷한 삶을 살고 있는 것 같다.

Comments