2010-02-10 17 views
8

मेरे पास एक पर्ल स्क्रिप्ट है जो लिनक्स सस्से पर क्रॉन जॉब में चली जाएगी। यह एक लॉग फ़ाइल के रूप में ले जाएगा जो कल उत्पन्न हुआ था। लॉग के फ़ाइल नाम में दिनांक (यानी लॉग.2010020 9)मैं कमांड लाइन पर कल की तारीख कैसे प्राप्त और प्रारूपित कर सकता हूं?

क्या मैं कल की तारीख को प्रॉम्प्ट में प्रारूप के साथ भेज सकता हूं? क्या मुझे तिथि प्राप्त करने और निष्पादित करने के लिए अतिरिक्त स्क्रिप्ट बनाना चाहिए? यदि हां, तो मैं यह कैसे कर सकता हूं?

धन्यवाद

perl myscript.pl -f log.20100209 

संपादित

आपकी मदद के लिए धन्यवाद

यह के साथ काम किया:

perl myscript.pl -f log.`date --date='yesterday' '+%Y%m%d'` 

उत्तर

28

जीएनयू तारीख:

date --date='yesterday' '+%Y%m%d' 
+0

+1 I यह मेरे अपने पर्ल को पसंद करेंगे :) –

+0

आसान और पठनीय, धन्यवाद! – Cesar

1

आप इस तरह कल की तारीख प्राप्त कर सकते हैं:

perl -we'@a=localtime(time-24*3600);printf "%04d%02d%02d", $a[5]+1900, $a[4]+1, $a[3]' 

आप जब प्रॉम्प्ट पर अपनी स्क्रिप्ट बुला इस का उपयोग कर सकते हैं:

perl myscript.pl -f log.`perl -we'@a=localtime(time-24*3600);printf "%04d%02d%02d", $a[5]+1900, $a[4]+1, $a[3]'` 

लेकिन यह पढ़ने योग्य नहीं है, और मैं सुझाव है कि आप एक उचित स्क्रिप्ट है कि कल की तारीख की गणना करता है लिखते हैं, और उसके बाद myscript.pl कहता है।

+0

इन्हें भी देखें: http://theoryx5.uwinnipeg.ca/CPAN/perl/pod/perlfaq4/How_do_I_find_yesterday's_date.html और http://flux.org.uk/howto/perl/yesterday_date –

0

आप एक अतिरिक्त पैरामीटर के रूप में कल की तारीख को भेजने की जरूरत नहीं होनी चाहिए। आप पहले से ही यह दो अन्य तरीकों का उपयोग कर प्राप्त कर सकते हैं:

  1. पर्ल के बिल्ट-इन समय(), स्थानीयसमय(), या gmtime() फ़ंक्शन आप वर्तमान दिनांक और समय दे देंगे, और आप उस के साथ काम निर्धारित करने के लिए कर सकते हैं कल की तारीख
  2. यह पहले से ही आपकी लॉग फ़ाइल के नाम पर शामिल है, इसलिए आप जिस प्रारूप को आवश्यक प्रारूप में दिनांक प्राप्त करने के लिए फ़ाइल नाम का विश्लेषण कर सकते हैं।

पर्ल में a lot of modules है जो तारीखों और समय के साथ काम करने के लिए है, जो आपको करने की ज़रूरत है।

+0

धन्यवाद, लेकिन मुझे कुछ आसान चाहिए जो लॉग फ़ाइल से स्वतंत्र रखने की अनुमति देता है – Cesar

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

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