Bireysel dosyaları açmak istiyorum. Bu dosyalar bir .txt uzantısına sahiptir. Bu dosyalar ayrıca birden fazla sıkıştırılmış dosyada da bulunur. İşte kullanmaya çalıştığım komut.
unzip -jn /path/to/zipped/files/zipArchiveFile2011\*.zip /path/to/specific/individual/files/myfiles2011*.txt -d /path/to/home/directory/for/extract/
Anladığım kadarıyla, -j seçeneği dizinleri dışlar ve sadece txt dosyalarını çıkarır. -N seçeneği, daha önceden çıkarılmışsa bir dosyanın üzerine yazmaz. Ben de öne eğik çizgi olduğunu öğrendim. /path/to/zipped/files/zipArchiveFile2011\*.zip
joker karakterden (*) kaçmak için gereklidir.
İşte karşısına çıkan hata mesajlarının bir örneği:
Archive: /path/to/zipped/files/zipArchiveFile20110808.zip
caution: filename not matched: /path/to/specific/individual/files/myfiles20110807.txt
caution: filename not matched: /path/to/specific/individual/files/myfiles20110808.txt
Archive: /path/to/zipped/files/zipArchiveFile20110809.zip
caution: filename not matched: /path/to/specific/individual/files/myfiles20110810.txt
caution: filename not matched: /path/to/specific/individual/files/myfiles20110809.txt
Çok basit bir şeyi özlediğimi hissediyorum. Dizin yolları etrafında tek tırnak (') ve çift tırnak (") kullanmayı denedim.
\*
). İkinci desenle eşleşen 1 veya daha fazla dosyayı ... / birey / dosyalar / ... arşivden çıkarmak mı istiyorsunuz? Bunun nasıl çalıştığını anladığınızda, sıkıştırılmış bir öğenin bir kerede işleyeceği dosyaların bir listesini oluşturmak için kabuk joker karakterlerinin nasıl kullanılacağını anlayabilirsiniz.