Ho milioni di file con la seguente nomenclatura su una macchina Linux:
1559704165_a1ac6f55fef555ee.jpg
Le prime 10 cifre sono timestamp e quelle seguite da a _
sono ID specifici. Voglio spostare tutti i file corrispondenti a specifici ID di file in una cartella diversa.
Ho provato questo sulla directory con i file
find . -maxdepth 1 -type f | ??????????_a1ac*.jpg |xargs mv -t "/home/ubuntu/ntest"
Tuttavia sto ricevendo un errore che indica:
bash 1559704165_a1ac6f55fef555ee.jpg: command not found
Quando ho provato, mv ??????????_a1ac*.jpg
sto ricevendo errore elenco troppo lungo elenco argomenti. Ho almeno 15 diversi modelli di nome file. Come li sposto.
| ??????????_a1ac*.jpg
:: bash lo espande in diversi nomi di file, il primo è1559704165_a1ac6f55fef555ee.jpg
, si finisce , in quel 2 ° stadio di pipe, cercando di eseguire:.1559704165_a1ac6f55fef555ee.jpg next_matching_filename 3rd_matching_filename ... nth_matching_filename
Immagino che tu abbia cercato invece di filtrare per quel nome di file (vedi le risposte sotto per quello)