Tôi có hàng triệu tệp với danh pháp sau trên máy Linux:
1559704165_a1ac6f55fef555ee.jpg
10 chữ số đầu tiên là dấu thời gian và những chữ số theo sau là một _
id cụ thể. Tôi muốn di chuyển tất cả các tệp khớp với id tên tệp cụ thể sang một thư mục khác.
Tôi đã thử điều này trên thư mục với các tập tin
find . -maxdepth 1 -type f | ??????????_a1ac*.jpg |xargs mv -t "/home/ubuntu/ntest"
Tuy nhiên tôi nhận được một lỗi cho biết:
bash 1559704165_a1ac6f55fef555ee.jpg: command not found
Khi tôi thử, mv ??????????_a1ac*.jpg
tôi nhận được danh sách đối số lỗi quá dài. Tôi có ít nhất 15 mẫu tên tệp khác nhau. Làm thế nào để tôi di chuyển chúng.
| ??????????_a1ac*.jpg
:: bash mở rộng nó thành một số tên tệp, lần đầu tiên1559704165_a1ac6f55fef555ee.jpg
, bạn kết thúc , trong giai đoạn ống thứ 2 đó, cố gắng thực hiện :1559704165_a1ac6f55fef555ee.jpg next_matching_filename 3rd_matching_filename ... nth_matching_filename
. Tôi đoán thay vào đó bạn đã cố gắng lọc tên tệp đó (xem câu trả lời bên dưới cho điều đó)