2012-01-23 7 views
11

मैं एक दूरस्थ फ़ाइल कैसे बिल्ली सकता हूँ? जहां यह केवल स्थानीय फाइल के लिए काम करता है।मैं बाश में पैरामीटर पढ़ने के लिए एक दूरस्थ फ़ाइल कैसे बिल्ली सकता हूं?

#!/bin/bash 
regex='url=(.*)' 
# for i in $(cat /var/tmp/localfileworks.txt); 
for i in $(cat http://localhost/1/downloads.txt); 
do 
     echo $i; 
     # if [[ $i =~ $regex ]]; then 
     #echo ${BASH_REMATCH[1]} 
     #fi 
done 

बिल्ली: http://localhost/1/downloads.txt: ऐसी कोई फ़ाइल या निर्देशिका cat की

उत्तर

19

इसके बजाय, जो फ़ाइल-प्रणाली से एक फ़ाइल में लिखा है, wget -O- -q, जो HTTP पर एक दस्तावेज़ पढ़ कर उस पर लिखते हैं का उपयोग मानक आउटपुट में:

for i in $(wget -O- -q http://localhost/1/downloads.txt) 

(-O... विकल्प का अर्थ है "निर्दिष्ट फ़ाइल पर लिखने", w यहां - मानक आउटपुट है; -q विकल्प "शांत" का मतलब है, और लॉगिंग कि अन्यथा मानक त्रुटि के लिए जाना जाएगा के बहुत सारे को निष्क्रिय)

14

आप curl उपयोग कर सकते हैं:।

curl http://localhost/1/downloads.txt 
+0

स्वीकार्य उत्तर होना चाहिए –

6

क्यों आप स्थानीय मशीन से कॉपी करने के लिए एक यूआरएल का उपयोग कर रहे ? क्या आप सीधे फाइल से बिल्ली नहीं कर सकते?

यदि आप रिमोट मशीन से ऐसा नहीं कर रहे हैं और स्थानीयहोस्ट नहीं हैं, तब तक मुझे पता है कि आप बिल्ली को यूआरएल पास नहीं कर सकते हैं।

मैं कुछ इस तरह की कोशिश करेंगे: किसी और आप भी wget बजाय SCP इस्तेमाल कर सकते हैं उल्लेख किया

scp [email protected]:/filepath/downloads.txt /dev/stdout 

के रूप में।

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