我正在尝试遍历目录中的所有HTML
个文件。
以下工作正常。
for f in *.html; do echo $f; done
但是,如何添加if
条件,以便仅在文件名不等于index.html
时才回显?
答案 0 :(得分:1)
应该很简单:
for f in *.html
do
if [ "$f" != "index.html" ]
then
echo $f
fi
done
答案 1 :(得分:1)
for f in *.html; do [ "$f" != "index.html" ] && echo "$f"; done
答案 2 :(得分:1)
也可以使用extended globbing完全从列表中排除index.html
:
shopt -s extglob nullglob
for f in !(index).html; do
echo "$f"
done
shopt -s extglob
:启用扩展的globbing shopt -s nullglob
:如果没有匹配的文件,请确保不执行循环!(index).html
:展开到非html
的所有index.html
个文件