ho questo comando:Regex per le cifre in Unix trovare comando
find reports/ -type f -mtime +90 -regex ".*\.\(csv\|sql\|txt\|xls\|zip\)"
E ho bisogno di rinforzare l'alto in modo che la parte prima che le estensioni di file corrisponde a un modello YYYY/MM/DD
, in questo modo:
reports/2010/10/10/23.txt
reports/2010/10/10/23.xls
reports/2010/10/10/26.csv
reports/2010/10/10/26.sql
reports/2010/10/10/26.txt
reports/2010/10/10/26.xls
reports/2010/10/10/27.csv
Ma non riesco a ottenere alcuna permutazione di \d
e parenti che scappano al lavoro.
UPDATE: ecco cosa ha funzionato per me in base alla risposta accettato di seguito:
find reports/ -type f -mtime +90 -regex "reports/201[01]/\([1-9]\|1[012]\)/\([1-9]\|[12][0-9]\|3[01]\)/.*\.\(csv\|sql\|txt\|xls\|zip\)"
Si noti che l'opzione -regex non è standard nelle piattaforme Unix. Penso che potrebbe essere solo su GNU find. È possibile eseguire un metodo più standard eseguendo il piping dell'output su egrep. – JOTN