Esta é uma pergunta simples. Estou tentando copiar todos os arquivos no diretório atual que começam com "axis-2" e terminam com ".jar" em um diretório de destino, digamos que é ~ / MyDirectory. Meu primeiro pensamento foi tentar
cp '^axis2.*jar$' ~/MyDirectory
Mas isso não está funcionando. Não tenho certeza se posso usar expressões regulares com o cp. Eu também não uso expressões regulares há algum tempo e minha sintaxe pode estar totalmente desativada. Quando tento este cp, apenas gera uma mensagem de erro "Não existe esse arquivo ou diretório". Alguém tem alguma sugestão de como fazer isso? Obrigado!
regular-expression
cp
Nick Van Hoogenstyn
fonte
fonte
Se você possui o GNU
find
e o GNUcp
disponíveis, pode usar expressões regulares como no seguinte comando:Isso pode ser útil se nem o padrão glob nem o bash Extended Glob atenderem às suas necessidades.
fonte
Eu realmente gosto da sintaxe regex do
rename
script perl (de Robin Barker e Larry Wall), por exemplo:Eu simplesmente queria exatamente a mesma coisa com um comando de cópia:
copy "s/OldFile/NewFile/" OldFile*
Então, eu dupliquei esse script e mudei a declaração de renomeação para copiar via
File::Copy
. Et voila! Um comando de cópia com sintaxe perl-regex: jcward / vopy .fonte