Ändra filnamn med brackets i "rename"

Permalänk
Avstängd

Ändra filnamn med brackets i "rename"

Skulle vilja ändra filnamn på ett större antal filer, och rename verkar ju perfekt.

Problemet jag stöter på är att filerna har brackets i filnamnet

"[kalle] fil nummer 1"
"[kalle] fil nummer 2"

osv.

Med rename 's/kalle//' kan jag byta namn på alla filer till "[] fil nummer *" men jag skulle ju även vilja ha bort [] och ett mellanslag.
Försöker jag istället med 's/[kalle] //' så vill den inte ändra namn alls. Hur får jag den att läsa "[kalle] " som ren text så jag kan ta bort det i filnamnen?

Permalänk
Medlem

När du skriver brackets i ditt seduttryck tolkas det som en regex-grupp. Du behöver escape:a dem med \. Alltså \[kalle\].

Visa signatur

WS: Fractal Design Pop Silent | Seasonic Prime G12 GC 550W | Gigabyte B650 Eagle AX | Ryzen 7 7700 | Corsair 64GB DDR5 | Asus Xonar DX | Arch Linux (x86_64) | Eizo EV2795
HTPC: Philips 50PUS8804, Kodi samt extern usb-disk
Server: Raspberry Pi 4 | 8GB RAM | HDD 750GB | Arch Linux (armv7h)

Permalänk
Avstängd
Skrivet av cfw:

När du skriver brackets i ditt seduttryck tolkas det som en regex-grupp. Du behöver escape:a dem med \. Alltså \[kalle\].

Cool
Tack för snabbt svar, perfekt!

Permalänk
Avstängd
Skrivet av Klubba:

Skulle vilja ändra filnamn på ett större antal filer, och rename verkar ju perfekt.

Problemet jag stöter på är att filerna har brackets i filnamnet

"[kalle] fil nummer 1"
"[kalle] fil nummer 2"

osv.

Med rename 's/kalle//' kan jag byta namn på alla filer till "[] fil nummer *" men jag skulle ju även vilja ha bort [] och ett mellanslag.
Försöker jag istället med 's/[kalle] //' så vill den inte ändra namn alls. Hur får jag den att läsa "[kalle] " som ren text så jag kan ta bort det i filnamnen?

rename '[kalle] ' ''

// wuseman