2014-06-10 12 views
5

मैं आर से tar.gz फ़ाइल बनाउंगा लेकिन टैर फ़ंक्शन मुझे काम नहीं करता है। यह मेरा उदाहरण कोड है।आर में tar.gz फ़ाइल कैसे बनाएं?

writeLines('aaaa', 'tmp.txt') 
tar('tmp.tar.gz', 'tmp.txt', compression = 'gzip') 

यह कोड एक tmp.tar.gz बनाता है, लेकिन tmp.txt gz फ़ाइल में शामिल नहीं है।

क्या मेरे कोड में कोई गलती है?

किसी भी सुझाव के लिए धन्यवाद।

#Windows platform 
sessionInfo() 
R version 3.1.0 (2014-04-10) 
Platform: x86_64-w64-mingw32/x64 (64-bit) 

locale: 
[1] LC_COLLATE=English_Australia.1252 LC_CTYPE=English_Australia.1252 
[3] LC_MONETARY=English_Australia.1252 LC_NUMERIC=C      
[5] LC_TIME=English_Australia.1252  

attached base packages: 
[1] stats  graphics grDevices utils  datasets methods base  

loaded via a namespace (and not attached): 
[1] tools_3.1.0 

#Linux platform 
sessionInfo() 
R version 3.1.0 (2014-04-10) 
Platform: x86_64-pc-linux-gnu (64-bit) 

locale: 
[1] LC_CTYPE=en_US.UTF-8 LC_NUMERIC=C   LC_TIME=C   LC_COLLATE=C   
[5] LC_MONETARY=C  LC_MESSAGES=C  LC_PAPER=C   LC_NAME=C   
[9] LC_ADDRESS=C   LC_TELEPHONE=C  LC_MEASUREMENT=C  LC_IDENTIFICATION=C 

attached base packages: 
[1] stats  graphics grDevices utils  datasets methods base  

other attached packages: 
[1] weaana_0.1.0.3874 abind_1.4-0  reshape2_1.4  ncdf4cf_0.1.0.3698 ncdf4_1.10   
[6] stringr_0.6.2  My_0.1.0.4086  

loaded via a namespace (and not attached): 
[1] Rcpp_0.11.1 plyr_1.8.1 tools_3.1.0 

उत्तर

9

मैं तुम्हें "tar" पर्यावरण चर सेट नहीं है लगता है:

मैं विंडोज और लिनक्स में इस कोड को चलाते हैं। tar() का डिफ़ॉल्ट तर्क tar नामक Sys.getenv("tar") पर कॉल द्वारा सेट किया गया है। यदि यह एक खाली स्ट्रिंग है, तो आर के आंतरिक tar का उपयोग किया जाता है (यह मेरे सिस्टम पर भी काम नहीं करता है)।

tar('tmp.tar.gz', 'tmp.txt', compression = 'gzip', tar="tar") 
+1

आपके उत्तर के लिए धन्यवाद:

तो, आप बाहरी tar आदेश/पथ मैन्युअल का नाम देना या तो Sys.setenv"tar" चर हो सकता है, या। लिनक्स के तहत Sys.getenv ("tar") को कॉल करते समय मुझे खाली स्ट्रिंग ("") मिली। – Bangyou

+1

आपके सुझावों के लिए धन्यवाद। यह अब काम करता है। – Bangyou

+0

हैलो, मैंने अपने टैर वैरिएबल को Sys.setenv (tar = "pathToTarCmd") के साथ सेट करने का प्रयास किया है, ऐसा लगता है क्योंकि मैं इसे Sys.getenv ("tar") से जांचता हूं जो गैर शून्य स्ट्रिंग को वापस करता है लेकिन जब मैं tar कमांड को कॉल करता हूं जैसा कि आप करते हैं, यह काम नहीं करता है, मैं इसे कैसे कर सकता हूं? – HanniBaL90

संबंधित मुद्दे