하나의 루프에서 많은 명령을 어떻게 실행하나요?
파일 이름을 출력하는 것은 디버깅에 유용하지만, 루프의 진짜 목적은 여러 파일을 한꺼번에 처리하는 것입니다. 다음 루프는 각 데이터 파일의 두 번째 줄을 출력합니다:
for file in seasonal/*.csv; do head -n 2 $file | tail -n 1; done
구조는 지금까지 본 다른 루프와 동일하고, 달라진 점은 본문이 단일 명령이 아니라 두 개의 명령을 파이프라인으로 연결했다는 것입니다.
이 연습은 강의의 일부입니다
Shell 입문
연습 안내
모든 계절 파일에서 2017년 7월(2017-07)의 마지막 항목을 출력하는 루프를 작성하세요. 출력은 다음과 유사해야 합니다:
grep 2017-07 seasonal/winter.csv | tail -n 1
하지만 계절 파일 각각에 대해 별도로 실행되어야 합니다. 루프 변수 이름은 반드시 file을 사용하고, 예시의 'seasonal/winter.csv'가 아니라 파일 목록 seasonal/*.csv를 순회하도록 하세요.
