Entfernen Sie Text aus mehreren Ordnernamen in Fish oder Bash

Entfernen Sie Text aus mehreren Ordnernamen in Fish oder Bash

habe einen Ordner mit Unterordnern. Ich möchte [ garbage.com ] aus jedem Ordnernamen entfernen. Ich möchte das Leerzeichen nach dem ] entfernen.

Momentan

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

Nach dem Skript

$ ls  

happy  
Sad  
confused  
dog  
cat  
rat  

Ich habe den Suchbefehl ausprobiert, aber die [] und das Leerzeichen bringen mich durcheinander.

Antwort1

Versuche Folgendes:

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

Mit der Option -n werden nur die geplanten Änderungen gedruckt. Entfernen Sie -n, um die Verzeichnisse tatsächlich umzubenennen. Beachten Sie, dass dadurch nicht nur Verzeichnisse, sondern auch Dateien umbenannt werden.

Um nur Verzeichnisse umzubenennen, verwenden Sie Folgendes:

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

verwandte Informationen