yae*_*ael 5 linux bash regular-expression rm files
如何删除文件,可能与侧/上侧的情况下
例如,file_name 可以是:
我会跑:
rm -f $file_name
Run Code Online (Sandbox Code Playgroud)
目标是将文件作为 stock.repo 删除,该文件可能在远程机器上为小写/大写
对于 Bash 特定的解决方案:
$ shopt -s nocaseglob
Run Code Online (Sandbox Code Playgroud)
然后运行rm
命令。
注意要取消设置此选项,请使用 shopt -u nocaseglob
为了完整起见,我会指出一个替代但不太优雅的解决方案:
$ rm [sS][tT][oO][cC][kK].[rR][eE][pP][oO]
Run Code Online (Sandbox Code Playgroud)
您可以使用find
命令来完成
find /path/to/directory -type f -iname stock\.repo -exec rm -f {} \;
但要非常小心。它从 /path/to/directory 递归地工作。您应该考虑使用 maxdepth 选项,并在可能造成永久性损坏的生产系统上运行它之前更加熟悉此命令。