alterando o nome de alguns arquivos em massa [duplicado]

0

Existe uma maneira de fazer uma alteração no nome de alguns arquivos, por exemplo, para anexar o nome de cada usuário aos arquivos que residem em sua pasta pessoal e que, se eles forem movidos para algum lugar, podem localizar arquivos de um usuário específico? Eu uso o CentOS 5.5

    
por Sam 18.05.2012 / 11:08

3 respostas

3

Sim:

$ for file in *; do owner=$(stat -c %U "$file"); mv "$file" "${owner}_${file}"; done

Você deve usar stat -c %U filename porque $USER se expande para o usuário atual, não para o proprietário de um arquivo.

O proprietário de um arquivo pode mudar de um argumento para outro, portanto, as soluções baseadas em rename podem ter que lidar com /e modificador de ou combinado com alguma chamada para stat . Dito isso, não considero essa pergunta uma cópia exata de pergunta 13147 como o prefixo seria dinâmico.

    
por 18.05.2012 / 14:08
2
for f in * ; do mv "$f" $USER_"$f" ; done
    
por 18.05.2012 / 13:56
0
for f in * ; do mv "$f" "$f"_$USER ; done
    
por 18.05.2012 / 12:50

Tags