Windows má několik vyhrazených znaků, které nejsou povoleny v názvech souborů/složek:
◦Následující vyhrazené znaky:
◾<(menší než)◾> (větší než)
◾:(dvojtečka)
◾” (uvozovky)
◾/ (lomítko )
◾\ (obrácené lomítko)
◾| (svislá tyč nebo potrubí)
◾? (otazník)
◾* (hvězdička)
Nedoporučuji také používat složené závorky {}
Následující úryvek kódu lze použít k „vyčištění“ složky plné souborů a odstranění hlavních překážek. V tomto úryvku nahrazuji určité znaky, jako je mezera a :, za _ a ostatní znaky vymažu. Také nahrazuji výsledné „dvojité mezery“ __ jedním _
Nebojte se rozšířit a přizpůsobit podle potřeby.
Pipeing ls into while read obejde nutnost pokusit se správně uniknout všemu při odesílání na mv
### # Fix badly names files # Windows doesn't really like "::" in filenames, we'll also get rid of other problematic characters. ### ls | while read -r FILE ; do mv -u "${FILE}" $(echo "${FILE}" | tr ' ' '_' | tr -d '[{}(),\!]' | tr ':' '_' | sed 's/__/_/g') 2>/dev/null done
Windows a Linux, Někdy musíte vynaložit určité úsilí na práci s počítačem.
„Vnořování“ proměnných v bash