GNU/Linux >> Znalost Linux >  >> Panels >> Webmin

„Oprava“ problematických názvů souborů.

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

Webmin
  1. Ssh – ne-ascii tisknutelné znaky v banneru Sshd?

  2. Tr Analog pro znaky Unicode?

  3. Počítání znaků každého řádku s Wc?

  1. Příkaz pro tisk pouze posledních 3 znaků řetězce?

  2. Unicode znaky v bibtexu

  3. linuxový shell wc -c počet znaků +1

  1. Jak manipulovat s názvy souborů s mezerami a speciálními znaky v Linuxu

  2. Oprava Spamassassina v Debianu Jessie(8)

  3. Výzva terminálu přepíše aktuální řádek?