Work1, work2, work3 ... 폴더별 ls 결과의 라인 수를 각각 출력하는 방법 ?
특정 폴더(`Work1`, `Work2`, `Work3`, 등) 내부의 `ls` 명령어 결과의 라인 수를 출력하고 싶다면, Bash 쉘 스크립트에서 반복문과 파이프라인을 사용할 수 있습니다.
아래의 스크립트는 각 `Work` 폴더에 대해 `ls` 명령어의 출력 라인 수를 계산하고 출력합니다.
#!/bin/bash
for folder in Work1 Work2 Work3; do
if [ -d "$folder" ]; then # 폴더가 존재하는지 확인
count=$(ls -1 "$folder" | wc -l) # 폴더 내 항목 수 계산
echo "$folder has $count items"
else
echo "$folder does not exist"
fi
done
이 스크립트는 다음과 같이 작동합니다:
1. `for folder in Work1 Work2 Work3`: `Work1`, `Work2`, `Work3` 등의 폴더를 순회합니다.
2. `if [ -d "$folder" ]`: 해당 폴더가 존재하는지 확인합니다.
3. `ls -1 "$folder"`: 폴더 내의 항목을 한 줄에 하나씩 나열합니다.
4. `| wc -l`: 파이프라인을 통해 `ls`의 결과를 `wc -l` 명령어로 넘겨, 라인 수를 세어줍니다.
5. `echo "$folder has $count items"`: 계산된 항목 수를 출력합니다.
폴더 이름 목록(`Work1 Work2 Work3`)은 실제 상황에 맞게 조정할 수 있습니다.
폴더 이름 뒤에 붙는 숫자를 변수로 다루기 위해 스크립트를 수정할 수 있습니다. 이를 위해 시작 숫자와 종료 숫자를 정의한 후, 이 범위 내에서 반복문을 사용하여 폴더 이름을 생성하고 `ls` 명령어의 결과 라인 수를 계산합니다. 다음은 수정된 스크립트의 예입니다:
폴더 이름 뒤에 붙는 숫자를 변수로 다루기 위해 스크립트를 수정할 수 있습니다. 이를 위해 시작 숫자와 종료 숫자를 정의한 후, 이 범위 내에서 반복문을 사용하여 폴더 이름을 생성하고 ls 명령어의 결과 라인 수를 계산합니다. 다음은 수정된 스크립트의 예입니다:
#!/bin/bash
start=1 # 시작 숫자
end=5 # 종료 숫자
for ((i=start; i<=end; i++)); do
folder="Work$i" # 폴더 이름 생성 (예: Work1, Work2 등)
if [ -d "$folder" ]; then # 폴더가 존재하는지 확인
count=$(ls -1 "$folder" | wc -l) # 폴더 내 항목 수 계산
echo "$folder has $count items"
else
echo "$folder does not exist"
fi
done
이 스크립트는 다음과 같이 작동합니다:
1. start와 end 변수로 시작과 종료 숫자를 설정합니다.
2. for ((i=start; i<=end; i++)): 시작부터 종료 숫자까지 반복합니다.
3. folder="Work$i": 각 숫자에 대해 폴더 이름을 생성합니다.
4. 나머지 부분은 이전 스크립트와 동일하게 폴더의 존재 여부를 확인하고, ls 명령어의 결과 라인 수를 계산하여 출력합니다.
이 스크립트를 사용하면 Work1, Work2, …, Work5와 같이 숫자가 붙은 폴더들에 대한 ls 결과의 라인 수를 자동으로 계산할 수 있습니다.

'무근본 IT 지식 공유 > 무근본 운영체제(OS)' 카테고리의 다른 글
Windows CMD에서 PC 모델을 확인하는 명령어를 알아보자 (0) | 2024.07.09 |
---|---|
Windows Powershell 에서 curl 명령 사용시 유의할점!! (1) | 2024.03.20 |
[TCP] NETSTAT명령어 사용 시 CLOSE_WAIT 상태란? (0) | 2023.11.22 |
리눅스 Curl https 인증서 오류 무시 옵션 (0) | 2023.11.21 |
[무근본운영체제] OS에서 시스템 API란 (0) | 2023.09.19 |
댓글