কিভাবে ফাইল প্যাটার্ন এবং টাইমস্ট্যাম্প দ্বারা zgrep?


0

আমার কয়েক হাজার জিজিপ তালিকা রয়েছে ( *.gz ) যে ফাইল আমি চাই zgrep মাধ্যমে, কিন্তু আমি গতকাল (11/২২/2012) এর পরে বা পরে একটি শেষ-সংশোধিত-টাইমস্ট্যাম্পের মাধ্যমে ফাইলগুলিতে এটি চালাতে চাই এবং এতে তাদের ফাইলনামগুলিতে স্ট্রিং "উইজেট" থাকে (এই দ্বারা ফিল্টার করা ফাইলগুলির সংখ্যা হ্রাস করে প্রায় 80)।

আমি আমার টাইমস্ট্যাম্প বা ফাইল প্যাটার্ন আর্গুমেন্ট দেখতে না যে আমি আমার যোগ করতে পারেন zgrep কমান্ড - কোন ধারনা?

উদাহরণ স্বরূপ:

eijdij8484.gz modified last on 11/20/2012 <== dont zgrep
dj8j4848ju-widget-dj8d4dj48d.gz modified last on 11/20/2012 <== dont zgrep bc of timestamp
ijdijdijdjii.gz modified last on 11/23/2012 <== dont zgrep bc no "widget" in filename
3ijdidj4-widget-jd9idj48.gz modified last on 11/22/2012 <== zgrep!

আগাম ধন্যবাদ!

উত্তর:


1

এই মত কিছু আপনি সঠিক দিক যাচ্ছে পেতে পারে।

#!/bin/bash
    cutoff="20121122"
    for i in `find . -type f -name "*widget*.gz"; do
        modDate="`stat -c %y $i | awk '{print $1}' | sed 's/-//g'`"
        if [ ${modDate} < ${cutoff} ]; then
            command here on $i
        fi
    done

এটি একটি দ্রুত লেখা ছিল কারণ আমার স্ত্রী আমার কাছ থেকে বাড়ি থেকে বের হওয়ার জন্য অপেক্ষা করছে, তাই একটু চেষ্টা করে দেখুন এবং আমি এই সন্ধ্যায় আরও গভীরভাবে পরীক্ষা করার চেষ্টা করব।

সম্পাদন করা - এই কি বর্তমান সময়ের সাথে সম্পর্কিত "গতকাল" একটি ভাসমান হতে বোঝানো হয়? নাকি এটা কঠিন "11/22/12"?


গতকাল ফ্লোটিং, কিন্তু এটা ঘাম না - আমি এখানে থেকে টিক দিতে পারেন, ধন্যবাদ !!
pnongrata

আশ্চর্য, আশা করি তুমি যেখানেই থাকো সেখানেই পাবে!
nerdwaller

যদি তুমি এটা চাও: date --date='1 day ago' +%Y%m%d এটা কি পারে.
nerdwaller
আমাদের সাইট ব্যবহার করে, আপনি স্বীকার করেছেন যে আপনি আমাদের কুকি নীতি এবং গোপনীয়তা নীতিটি পড়েছেন এবং বুঝতে পেরেছেন ।
Licensed under cc by-sa 3.0 with attribution required.