Ls সহ একটি তারিখের পরে কেবল ফাইলগুলি কীভাবে তৈরি করা যায়?


97

সঙ্গে lsকমান্ড, এটি শুধুমাত্র একটি নির্দিষ্ট তারিখের পরে নির্মিত ফাইল ঘন্টা দেখানোর জন্য, সম্ভব ...?

আমি এটি জিজ্ঞাসা করছি কারণ আমার কাছে হাজার হাজার ফাইলের একটি ডিরেক্টরি রয়েছে।

আমি গতকাল থেকে তৈরি হওয়া সমস্ত ফাইল দেখতে চাই।

আমি ব্যবহার করি ls -ltrতবে সমস্ত ফাইল দেখার জন্য আমাকে অপেক্ষা করতে হবে ...

DIRECTORY/SINCE=dateওপেনভিএমএস এর সমতুল্য কি আছে ?


1
lsফাইলগুলি তালিকাভুক্ত করে তবে কোন ফাইলটি তালিকাভুক্ত করতে হবে বা আউটপুট ফর্ম্যাটটি নির্বাচন করতে এটি খুব বেশি প্রস্তাব দেয় না। গ্লোববিং (শেল ওয়াইল্ডকার্ডস) ব্যবহার করুন বা findযখন আপনি নাম বা মেটাডেটা (যেমন তারিখ) দ্বারা ফাইল নির্বাচন করতে চান।
গিলস

3
সুতরাং কিভাবে এল এর সাথে তারিখ গেল? আপনি দুজন এটি বন্ধ বন্ধ?
গ্যারেট অ্যালব্রাইট

3
সহ zsh:ls -1 -- *(.m-1)
ডোন_ক্রিস্তি

উত্তর:


123

আপনি findনির্দিষ্ট দিনগুলির পরে সংশোধিত সমস্ত ফাইল সন্ধান করতে কমান্ডটি ব্যবহার করতে পারেন ।

উদাহরণস্বরূপ, গত ডিরেক্টরি থেকে 24 ঘন্টা আগে পরিবর্তন করা হয়েছে এমন বর্তমান ডিরেক্টরিতে সমস্ত ফাইল সন্ধান করতে:

find . -maxdepth 1 -mtime -1

মনে রাখবেন যে, পরিবর্তিত ফাইল খুঁজে পেতে আগে 24 ঘন্টা আগে, আপনি ব্যবহার করতে হবে -mtime +1পরিবর্তে -mtime -1


3
আমি খুব বলতে হবে। lsলুক এখানে নিজেকে সীমাবদ্ধ করার কোন কারণ নেই Luc
ওয়ারেন ইয়ং

14
জিএনইউ অনুসন্ধানের সাথে সাথে অন্যান্য সম্ভাবনাও রয়েছে। -mmin 5শেষ 5 মিনিটে পরিবর্তিত ফাইলগুলি তালিকাবদ্ধ করে। -newermt "2011-02-27 13:42"নির্দিষ্ট তারিখের পরে থেকে ফাইলগুলি পরিবর্তিত তালিকাবদ্ধ করে। আপনি সাধারণ রঙের প্রদর্শন পেতে -exec ls --color -ld {} +পরিবর্তে ব্যবহার করতে পারেন -ls(যদি আপনি রঙিন এলএস আউটপুট পছন্দ করেন)।
গিলস

3
বিয়োগ চিহ্নটি নোট করুন:find . -mmin -5
ব্যবহারকারী 7543

এবং -ম্যাক্সডেপথ 1-কে উপ-ডিরেক্টরি স্তরের অধীনে ফাইলগুলি অনুসন্ধান করতে যে কোনও এন মানতে বাড়ানো যেতে পারে
আনশুমান

3
আমার জন্য এটি এটির মতো কাজ করে: সন্ধান করুন। টাইপ চ -newermt '1/15/2012 18:09:00'
সাব্বাস

14
find . -type f -newermt '1/30/2017 0:00:00'

এটি একটি নির্দিষ্ট তারিখের পরে সমস্ত ফাইল সংশোধিত দেখতে পাবে।


1
ls -ltr | grep "`date | awk '{print $2" "$3}'`"

5
হাই ট্রেন্ট! আপনার সমাধানটি এলএস ব্যবহারের প্রশ্নের অনুরোধকে সম্মান করার চেষ্টা করার ক্ষেত্রে সৃজনশীল হলেও ls এর আউটপুট পার্সিং করা খুব কমই নিরাপদ (যেমন, এখানে নিউলাইনগুলি সহ ফাইলের নামগুলির সাথে কী ঘটে?), এবং আমরা কেবল উত্তরগুলির উত্তর চেয়ে পছন্দ করি না - লাইনারগুলি, তবে তারা কীভাবে প্রাসঙ্গিকভাবে তত বেশি বিশদে কাজ করে তা ব্যাখ্যা করার জন্য।
ধাগ

1
সমস্যাগুলি: (1) আমার সিস্টেমে dateবলে Jun 03, কিন্তু lsবলে Jun  3, সুতরাং এটি কাজ করে না। (২) এক সপ্তাহ আগে, তারিখটি ২ May শে মে ছিল  ls -l | grep "May 27"files সেদিন সংশোধিত ফাইলগুলি পাওয়া যেত, তবে অন্য কোনও বছরের ২ May শে মে সংশোধিত ফাইলগুলি - এবং তাদের নামে "২ 27 মে" ফাইল থাকা ফাইলগুলি খুঁজে পেতে পারে। (এবং যদি আপনি মনে করেন যে একটি সম্পূর্ণ বাজে উদ্বেগ খোঁজা আছে, "10 ডিসেম্বর" ।) (3) এবং যদি আপনি পেতে পরিচালিত dateবলতে Jun 2খুঁজতে হবে, যে জন্য grepping Jun 20মাধ্যমে Jun 29, কিন্তু না Jun  2(দুই ব্যবধান সহ)। … (চালিয়ে যাওয়া)
জি ম্যান

1
(চালিয়ে যাওয়া) ... (৪) ls -ltrতালিকা শেষে ওপিতে সর্বাধিক পরিবর্তিত ফাইলগুলি পেতে ব্যবহার করা হয়েছিল । আপনি যদি কোনও তারিখের জন্য গ্রেপ করে থাকেন তবে তা করার দরকার নেই (27 মে, 2015, 27 শে মে, 2013, ইত্যাদি, ফাইলের পরে তালিকা শেষে 27 মে, 2015 ফাইলগুলি পাওয়া)। (5) জোর করে, print $2, $3সমান print $2" "$3, এবং পড়তে অনেক সহজ - বিশেষত যখন আরও তিনটি স্তরের উদ্ধৃতি থাকে।
জি ম্যান

ls -ltr | grep "$(date | awk '{print $2,$3}')"
সেরজিওআরাউজো

0

আশা করি এটি কাজ করে:

ls -ltr | awk '$6 == "May" && $7 >=01 && $7 <= 31 {print $9}'

এখানে:

$6 indicates position of month
$7 indicates day of the month

এই উপরের কমান্ডটি সমস্ত ফাইলের নাম মুদ্রণ করে যা 1 ম মে থেকে 31 মে পর্যন্ত তৈরি করা হয়

আপনি যদি কনসোলে তারিখটিও মুদ্রণ করতে চান তবে এটি চেষ্টা করুন

ls -ltr | awk '$6 == "May" && $7 >=01 && $7 <= 31 {print $6"-"$7,$9}'

আপনি যদি ডিরেক্টরিটির পথ নির্দিষ্ট করতে চান তবে আপনি এটি ব্যবহার করে দেখতে পারেন

ls -ltr <path>| awk '$6 == "May" && $7 >=01 && $7 <= 31 {print $6"-"$7,$9}'

অনেক কারণে, lsআউটপুট পার্স করা ভাল ধারণা নয় । এবং সকলেই ইংরাজী বলে না :-)
লস এম
আমাদের সাইট ব্যবহার করে, আপনি স্বীকার করেছেন যে আপনি আমাদের কুকি নীতি এবং গোপনীয়তা নীতিটি পড়েছেন এবং বুঝতে পেরেছেন ।
Licensed under cc by-sa 3.0 with attribution required.