编写一个shell脚本,罗列当前路径下所有以f开头的文件名(注意:不包括文件夹)?
你好,
情况一: 只列出当前文件夹下的以f开头的文件,不考虑子文件夹:
----------------------
#!/bin/sh
print_f(){
for i in `ls`;do
if [[ -f $i && $i =~ ^f.* ]];then
echo $i
fi
done
}
print_f
上面的格式没有了,对着图片改下格式吧:
----------------------
运行结果:
情况二: 列出当前文件夹及子文件夹下以f开头的文件:
----------------------
#!/bin/sh
print_f(){
for i in `ls $1`;do
p=$1"/"$i
name=`basename $p`
if [[ -f $p && $name =~ ^f.*$ ]];then
echo $i
fi
if [ -d $p ];then
p=$1"/"$i
print_f $p
fi
done
}
print_f `pwd`
----------------------
上面的格式没有了,对着图片改下格式吧:
运行结果:
情况三:将"情况二"中的echo $i改为echo $p,即可得到当前文件夹及子文件夹中以f开头文件的绝对路径
情况四:只输出当前文件夹中以f开头文件的绝对路径:
---------------
#!/bin/sh
print_f(){
for i in `ls`;do
if [[ -f $i && $i =~ ^f.* ]];then
echo $1'/'$i
fi
done
}
print_f `pwd`
---------------
上面代码格式没了,对着图片自己改下格式吧:
运行结果: