Arka fon:
Her biri birkaç milyon dosya içeren yaklaşık 25G'de 20 veya daha fazla tar dosyası var. Bu dosyalar için dizin yapısı olması gereken format değil, bu yüzden bunu düzeltmek istiyorum. Sırf hacmi nedeniyle, bir adımda tamamlayabildiğim adımlar daha iyi.
Ne Denedim?
Yapmayı umduğum şey, bu çıkarma ve dönüştürmeyi gerçekleştiren katran dosyalarının üzerinde bir döngü idi:
tar -xf TX.tar.001 --transform 's,^TX/([a-zA-Z][a-zA-Z]*_([0-9][0-9]-[0-9][0-9]-[0-9][0-9])_[0-9][0-9]-[0-9][0-9]-[0-9][0-9]_.+\.[a-zA-Z][a-zA-Z]*),\2/\1,'
Bununla birlikte, tar, Google’ın çok az şey bildiği anlaşılan bu hatayı tükürür:
Invalid transform replacement: back reference out of range
Soru:
Katranı geri referanslarımla çalışmaya nasıl ikna edeceğiniz ya da bunu makul bir sürede tamamlayabilecek başka bir yolla yapmayı nasıl önerdiniz?