Estou tentando criar um script interativo que me permite escolher uma data e hora de início, depois recorrer ao diretório/subdiretórios atuais, encontrar todos os arquivos de áudio flac, classificados por diretório/subdiretórios/nome do arquivo e, em seguida, atualizar o carimbo de data/hora em 1 segundo começando a partir da data de início da entrada inicial do usuário.
#!/bin/bash
# Description: change mtime using touch with time offset
# get starting date and time
read -p "Starting date and time (ex. 2012-03-22 22:00:05): " start_date
# convert to unix timestamp
start() {
date -d "${start_date}" +%s
}
# find all flac files inside a directory
flac() {
find . -type f -name "*.flac" | sort
}
for file in $flac; do
touch -d @$start "$flac"
# increment by 1 second
$start=$(start + 1)
done
Existem alguns pontos a serem considerados: Você não precisa de função
start
, você precisa de variável. Não se esqueça de fazer contas mais tarde com isso. Então suas falas:deveria estar
Você não precisa de função para obter a lista de arquivos, você pode incorporá-la no loop. Algo assim pode fazer o trabalho: