Bir Linux makinesinde aşağıdaki adlandırmaya sahip milyonlarca dosyam var:
1559704165_a1ac6f55fef555ee.jpg
İlk 10 basamak zaman damgasıdır ve arkasından a olanlar _
belirli kimliklerdir. Belirli dosya adı kimlikleriyle eşleşen tüm dosyaları farklı bir klasöre taşımak istiyorum.
Bunu dosyaları ile dizinde denedim
find . -maxdepth 1 -type f | ??????????_a1ac*.jpg |xargs mv -t "/home/ubuntu/ntest"
Ancak ben belirten bir hata alıyorum:
bash 1559704165_a1ac6f55fef555ee.jpg: command not found
Denediğimde, mv ??????????_a1ac*.jpg
argüman listesi çok uzun hata alıyorum. En az 15 farklı dosya adı desenim var. Onları nasıl hareket ettiririm.
| ??????????_a1ac*.jpg
borunuz:: bash bunu birkaç dosya adına genişletiyor, ilki1559704165_a1ac6f55fef555ee.jpg
, sonunda , bu 2. boru aşamasında, yürütmeye çalışıyorum:1559704165_a1ac6f55fef555ee.jpg next_matching_filename 3rd_matching_filename ... nth_matching_filename
Sanırım bunun yerine bu dosya adına filtre uygulamaya çalıştınız (bunun için aşağıdaki yanıtlara bakın)