Estou usando um script para copiar alguns arquivos dependendo do ano em que eles foram criados, ele funciona bem com arquivos sem espaços, mas com os arquivos com espaços, há um problema com o comando stats, por exemplo, eu tenho esse arquivo: file with spaces.pdf
stat -c %y ./path/to/file\ with\ spaces.pdf|cut -d '-' -f 1
retorna o ano, por exemplo: 2017
mas quando usado dentro de um script:
year=$(stat -c %y $pathfile | cut -d '-' -f 1)
não parece o trabalho, e se eu tirei a saída de:
echo "stat -c %y file | cut -d '-' -f 1"
e copie-o em um terminal que funciona, o erro é o mesmo em todos os casos, é como ignorar essa parte do nome do arquivo: with\ spaces.pdf
:
stat: cannot stat './path/to/file\': No such file or directory
Eu tentei adicionar cotações ao caminho e parece que não funciona:
year=$(stat -c %y "$pathfile" | cut -d '-' -f 1)
Eu vi em algum lugar que eu preciso colocar as estatísticas em uma função, o que eu fiz:
makestats () {
$(stat -c %y $1|cut -d '-' -f 1)
}
mas parece que não funciona, recebo o mesmo erro se você puder me dar sua ajuda, o que seria ótimo.