從 Fish 或 bash 中的多個資料夾名稱中刪除文本

從 Fish 或 bash 中的多個資料夾名稱中刪除文本

有一個帶有子資料夾的資料夾。我想從每個資料夾名稱中刪除 [garbage.com]。我想刪除 ] 後面的空格

現在

$ ls 
 
[ garbage.com ] happy  
[ garbage.com ] Sad   
[ garbage.com ] confused  
dog  
cat  
rat  
.....

腳本之後

$ ls  

happy  
Sad  
confused  
dog  
cat  
rat  

我嘗試了 find 指令,但 [] 和空格把我搞亂了。

答案1

請嘗試以下操作:

rename "s/\[\ garbage\.com\ \]\ //" -n *

-n 選項將僅列印計劃的變更。刪除 -n 以實際重命名目錄。請注意,這不僅會重新命名目錄,還會重新命名檔案。

若要僅重命名目錄,請使用下列命令:

find . -type d -exec rename -n "s/\[\ garbage\.com\ \]\ //" {} ";"

相關內容