Verifique sua versão "renomear" com rename -V
. Se você ver:
-
"
util-linux
" entãorename .gzip _$(date "+%Y%m%d").gzip *.gzip
-
"
File::Rename
" entãorename 'chomp(my $date = 'date "+%Y%m%d"'); s/\.gzip/_$date.gzip/' *.gzip
Suponha que eu queira renomear 3 arquivos no mesmo diretório. Exemplo: test1.gzip test2.gzip test3.gzip
Agora, deseja renomear todos os arquivos acima para algo como
test1_20180518.gzip test2_20180518.gzip test3_20180518.gzip
Agora, como pode obter o resultado? Alguém por favor me ajude !!
Por favor, me diga como fazer isso no bash scripting?
Verifique sua versão "renomear" com rename -V
. Se você ver:
" util-linux
" então
rename .gzip _$(date "+%Y%m%d").gzip *.gzip
" File::Rename
" então
rename 'chomp(my $date = 'date "+%Y%m%d"'); s/\.gzip/_$date.gzip/' *.gzip
Solução posible (você precisa escolher um no corpo do loop):
#!/bin/bash
pattern="pattern"
i=0
for file in 'find <your_path> -type f -name '*.zip''
do
extension="${file##*.}"
filename="${file%.*}"
# without extenstion
mv "$file" "$filename-$pattern.$extension"
# whole filename
mv "$file" "$pattern-$i"
i=$((i + 1))
done