从shell globbing中排除特定的文件名

前端之家收集整理的这篇文章主要介绍了从shell globbing中排除特定的文件名前端之家小编觉得挺不错的,现在分享给大家,也给大家做个参考。
我想从一个 shell(bash)globbing字符串* .log中释放一个特定的文件名(例如fubar.log).没有什么我试过似乎工作,因为globbing不使用标准RE集.

测试用例:目录包含

fubar.log
fubaz.log
barbaz.log
text.txt

并且只有fubaz.log barbaz.log必须被glob扩展.

如果你使用bash
#!/bin/bash
shopt -s extglob
ls !(fubar).log

或没有extglob

shopt -u extglob
for file in !(fubar).log
do
  echo "$file"
done

要么

for file in *log
do
   case "$file" in
     fubar* ) continue;;
     * ) echo "do your stuff with $file";;
   esac 
done

猜你在找的Bash相关文章