Por que procurar um diretório YYYY / MM / DD / que ainda não exista?
Pesquise e cd
no diretório YYYY / MM / DD / mais recente:
cd "$(find /home/application/Files/output/ -type d \
-regex '.*/[0-9][0-9][0-9][0-9]/[0-9][0-9]/[0-9][0-9]$' -print0 |
sort -rVz | head -z -n 1)"
Nota: requer o GNU find
, sort
e head
para as opções -print0
e -z
NUL-delimitador.
Se você preferir expressões regulares no estilo PCRE, poderá fazer isso:
cd "$(find /home/application/Files/output/ -type d -print0 |
grep -z -P '/\d{4}/\d\d/\d\d$' | sort -rVz | head -z -n 1)"
Como alternativa, se você precisar usar o diretório do dia atual, esteja ele vazio ou não, crie o diretório primeiro e, em seguida, cd
:
dir="/home/application/Files/output/$(date +%Y/%M/%d)"
mkdir -p "$dir"
cd "$dir"
A opção mkdir
do -p
cria o diretório, se ele ainda não existir. Ele também cria qualquer diretório pai necessário. Não causa um erro ou reclama se o diretório já existe.