Selecione Página
(você pode ler esta publicação em espanhol aqui)

Útil para renomear vários arquivos usando expressões regulares:

perl -we '$regex = shift(@ARGV); $rep = shift(@ARGV); $rep =~ s/"/\"/g; $rep = qq("$rep"); foreach (@ARGV) { if (/$regex/) { $ren = s/$regex/$rep/geer;  print qq(Renaming "$_"n      to "$ren"n); renomear($_, $ren); }}' <padronizar> <substituição> <arquivos...>

Criado por causa do Linguagens de programação aula no Coursera, cujos vídeos são numerados sem zeros de preenchimento, (educaçao Fisica. “2 – 9 – Funciona formalmente (856).mp4”), bagunçando a ordem de classificação em muitos programas (como VLC).

Para consertá-lo de nosso confiável terminal Linux, primeiro criamos um apelido para organização (que você também pode salvar permanentemente em seu arquivo ~ / .bashrc):

alias renamregex='perl -we '''$regex = shift(@ARGV); $rep = shift(@ARGV); $rep =~ s/"/\"/g; $rep = qq("$rep"); foreach (@ARGV) { if (/$regex/) { $ren = s/$regex/$rep/geer;  print qq(Renaming "$_"n      to "$ren"n); renomear($_, $ren); }}''

Então mudamos para o diretório com os vídeos, substituindo o meu pelo seu é claro (ou você pode simplesmente pressionar F4 no Dolphin para abrir um terminal nele, se você usa KDE):

cd "~/Documentos/Educación/Cursos en línea/Coursera UoW - Programming Languages/"

E adicionamos um sublinhado à duração do vídeo (então o nome do vídeo é o mesmo da legenda):

renamregex '(d)(dd).mp4)' '$1_$2' *.mp4

Renaming "2 - 9 - Funciona formalmente (856).mp4"       to "2 - 9 - Funciona formalmente (8_56).mp4"

And then we rename all files, adding a zero to all the lone digits, except the lastwe don’t want to change the extension:

renamregex '(^|D)(d)(D)' '${1}0$2$3' *

Renaming "2 - 9 - Funciona formalmente (8_56).mp4"      to "02 - 09 - Funciona formalmente (08_56).mp4"

As a goodie for using the best OS for developers, you can install all the programs required on the class with a single command (in Debian/Ubuntu and friends):
sudo apt-get install emacs24 smlnj sml-mode racket ruby libtcltk-ruby

Though SML mode requires a quick fix (to fix therequire: Constant symbol `:groupspecified in defvar” erro):

sudo perl -pi -e 's/^(defvar :.*n//' /usr/share/emacs/site-lisp/sml-mode/sml-compat.el
sudo emacs -batch -f batch-byte-compile  /usr/share/emacs2*/site-lisp/sml-mode/sml-compat.el

If you want to use Emacs instead of DrRacket, install Quack and Geiser with:
sudo apt-get install emacs-goodies-el

and for the latest Geiser:
wget http://ubuntu.wikimedia.org/ubuntu/pool/universe/g/geiser/geiser_0.4-1_all.deb
sudo dpkg -i geiser_0.4-1_all.deb
rm geiser_0.4-1_all.deb

(or you can just apt-get install geiser if you’re already in Ubuntu Sausy or Debian Jessie).

And add to your ~/.emacs:

;; Improved scheme-mode for Racket
(require 'geiser-install)
(require 'quack)
(quack-install)

If you’re in Windows, you’ll have to install Perl and run something like:

cd "$HOMEMis DocumentosEducaciónCursos en líneaCoursera UoW - Programming Languages" 

perl -we '$regex = shift(@ARGV); $rep = shift(@ARGV); $rep =~ s/"/\"/g; $rep = qq("$rep"); foreach (@ARGV) { if (/$regex/) { $ren = s/$regex/$rep/geer;  print qq(Renaming "$_"n      to "$ren"n); renomear($_, $ren); }}'
'(d)(dd).mp4)' '$1_$2' *.mp4

perl -we '$regex = shift(@ARGV); $rep = shift(@ARGV); $rep =~ s/"/\"/g; $rep = qq("$rep"); foreach (@ARGV) { if (/$regex/) { $ren = s/$regex/$rep/geer;  print qq(Renaming "$_"n      to "$ren"n); renomear($_, $ren); }}' '(^|D)(d)(D)' '${1}0$2$3' *.*

Though I haven’t tried it.