와일드카드를 이용해 디렉토리 내의 파일 리스트를 for문을 이용해 순서대로 조회할 수 있습니다.
아래의 형식을 통해 파일 경로 내의 파일들을 하나씩 조회할 수 있습니다.
for 변수 in 파일경로/*
do
commands
done
이를 활용해서 해당 파일 경로 내의 파일을 하나씩 조회하면서
파일/디렉토리
의 경우를 분류해서 echo
처리해보겠습니다.
$ cat test1
#!/bin/bash
for file in $HOME/devops/Ansible/*
do
if [ -d $file ]
then
echo "$file is directory"
elif [ -f $file ]
then
echo "$file is file"
fi
done
$ ./test1
/home/hyeob/devops/Ansible/Ansible_실습_환경_구축 is directory
/home/hyeob/devops/Ansible/Ansible_AWS_메타데이터_상세.md is file
/home/hyeob/devops/Ansible/Ansible_상세(facts).md is file
/home/hyeob/devops/Ansible/Ansible_인벤토리.md is file
/home/hyeob/devops/Ansible/Ansible_플레이북.md is file
/home/hyeob/devops/Ansible/Ansible_조건문.md is file
/home/hyeob/devops/Ansible/Ansible_핸들러.md is file
/home/hyeob/devops/Ansible/Ansible_반복문.md is file
/home/hyeob/devops/Ansible/Ansible_애드혹_명령어.md is file
/home/hyeob/devops/Ansible/Ansible_모듈.md is file
/home/hyeob/devops/Ansible/Ansible_변수.md is file
/home/hyeob/devops/Ansible/Ansible_소개.md is file
/home/hyeob/devops/Ansible/Ansible_설치.md is file
/home/hyeob/devops/Ansible/Playbook is directory
TIP
파일 경로를 적어줄 때 2개 이상의 파일 경로를 지정하기 위해서는
for 변수 in 파일경로1/* 파일경로2/.b*
와 같이 띄어쓰기를 기준으로 나열하면 됩니다.