Linux

如何刪除可能帶有小寫/大寫的文件

  • February 5, 2019

如何刪除可能帶有小寫/大寫的文件

例如,file_name 可以是:

  • 股票回購或
  • Stock.REPO 或
  • stOCK.repo 或
  • 股票回購
  • … ETC

我會跑:

rm -f $file_name

目標是將文件作為 stock.repo 刪除,該文件在遠端機器上可能為小寫/大寫

對於特定於 Bash 的解決方案:

$ shopt -s nocaseglob

然後執行rm命令。

注意取消設置這個選項,使用shopt -u nocaseglob

為了完整起見,我會指出一個替代但不太優雅的解決方案:

$ rm [sS][tT][oO][cC][kK].[rR][eE][pP][oO]

您可以使用find命令執行此操作

find /path/to/directory -type f -iname stock\.repo -exec rm -f {} \;

但要非常小心。它從 /path/to/directory 遞歸工作。您應該考慮使用 maxdepth 選項,並在可能造成永久性損壞的生產系統上執行此命令之前更加熟悉此命令。

引用自:https://unix.stackexchange.com/questions/425373