मुझे linux gnu tar से कुछ समस्या मिली। जब मैं विकल्प का उपयोग करता हूं
-T - (for file list from stdin) or
-T named_pipe_file ,
यह मक्खी पर काम नहीं करता है। उदाहरण के लिए, सरल इंटरैक्टिव स्क्रिप्ट:
while read x; do echo $x; done|\
tar cvf tar.tar -T -
टार केवल तभी शुरू होता है जब मैं इनपुट EOF को चिह्नित करने के लिए ^ D दबाता हूं यही स्थिति तब है जब मैं नामित पाइप का उपयोग करता हूं:
mkfifo named_pipe
tar cvf tar.tar -T named_pipe
while read x; do echo $x; done >named_pipe
लगता है टार कुछ बफ़रिंग बनाता है। लेकिन यह कब तक है? मुझे TAR में बहुत सारी फ़ाइलों को वापस करना होगा लेकिन डिस्क स्थान बहुत कम है। फिर मुझे उड़ने पर ऐसा करना चाहिए। मैं इसके लिए टार ऑप्शन --remove-files का उपयोग नहीं करता। लेकिन -T विकल्प के लिए अन्तरक्रियाशीलता के बिना यह असंभव है। योजना में, "जबकि" कोड का हिस्सा क्रमिक रूप से फ़ाइल करने के लिए अनपैक करना चाहिए और हटाने के लिए TAR की प्रतीक्षा करनी चाहिए, और अगली फ़ाइल। विचारों के लिए धन्यवाद :)
मेरा टार संस्करण: टार (जीएनयू टार) १.२६ (सी) २०११ एफएसएफ
tar
फ़ाइल नाम या वास्तविक डेटा जो इसे संपीड़ित करना चाहिए?-T
विकल्प फ़ाइल नामों की एक सूची की उम्मीद करता है और मेरे सिस्टम पर एक लूप में विज्ञापित के रूप में काम करता है।