IFS=$'\n'
for CITY in $(cat /home/user/CT.txt)
do
FILES=/mnt/dir1/dir2/$CITY/*
count=0
folder=''
for f in $FILES
do
echo "Processing $f file..."
((count++))
folder=$f
# take action on each file. $f store current file name
#cat $f
done
下面是CT.txt的内容和目录结构:
cat CT.txt
Test1 Test2 Test3
cd Test1/
|_dir1
exm.xls
cd Test2
|_dir1
exm.xls
输出应该:
我只想在 Test1 Test2 下处理文件内的目录,不包括 .xls 文件
答案1
在不处理脚本其余部分的情况下,跳过以“.xls”结尾的文件:
[[ $f =~ .xls$ ]] && continue
或者,如果您不喜欢这种语法:
case "$f" in
(*.xls) continue;;
esac
或者,如果您不喜欢这种语法:
shopt -s extglob
for f in /mnt/dir1/dir2/$CITY/!(*.xls)
do
: etc
done