ফাইলগুলি 15 সেকেন্ডের চেয়েও বেশি নতুন তবে 2 সেকেন্ডের চেয়ে পুরানো


17

আমি 15 সেকেন্ডের চেয়েও বেশি পুরানো ফাইলগুলি 2 সেকেন্ডের চেয়ে পুরানো খুঁজে পেতে চাই। এখানে আমি বর্তমানে স্ক্রিপ্টটি ব্যবহার করছি যা 15 সেকেন্ডের চেয়েও নতুন ফাইলগুলিকে ধরে ফেলে:

find /my/directory -name '*.jpg' -not -newermt '-15 seconds'

কোন সাহায্য ব্যাপকভাবে প্রশংসা করা হয়


2
আপনি কোন অপারেটিং সিস্টেম ব্যবহার করছেন? findবাস্তবায়নে পার্থক্য রয়েছে ।
টেরডন

ঠিক 2 সেকেন্ড আগে কোনও ফাইলটি পরিবর্তন করা উচিত? ঠিক 15 সেকেন্ড আগে কোনও ফাইলের পরিবর্তন হয়েছে?
মাইকেল

স্ক্রিপ্ট শুরু হওয়ার সময় 2 সেকেন্ডেরও বেশি নতুন বা এটি শেষ হয়?
স্টাফেন চেজেলাস

@ মাইকেল, আজকাল ঘড়ির মধ্যে ন্যানোসেকেন্ড রেজোলিউশন হওয়ায় এটি সম্ভবত অপ্রাসঙ্গিক।
স্টাফেন চেজেলাস

1
ঠিক আছে ... যেহেতু অন্য কেউ জিজ্ঞাসা করছে না ... @ ইয়েলিয়ার 123 আপনার কেন 2 <x <15 সেকেন্ডের মধ্যে তৈরি ফাইলগুলি খুঁজে পাওয়া দরকার? আমি উৎসুক.
সি বাউর

উত্তর:


17

আপনি একাধিক ভবিষ্যদ্বাণীগুলি জড় করে তাদের একত্রিত করতে পারেন।

নেই -oldermt, তবে আপনি এটি লিখতে পারেন -not -newermt

তুমি চাও:

  • -newermt '-15 seconds' ফাইলটি 15 সেকেন্ডেরও কম পুরানো, এবং
  • -not -newermt '-2 seconds' ফাইলটি 2 সেকেন্ডেরও বেশি পুরানো বলে

চেষ্টা করুন:

find /my/directory -newermt '-15 seconds' -not -newermt '-2 seconds'

বা, পসিএক্স অনুগত হতে:

find /my/directory -newermt '-15 seconds' \! -newermt '-2 seconds'

এছাড়াও, ঠিক তেমনি আপনি (এবং অন্যান্য পাঠক) সচেতন, "নতুন" এর অর্থ সাম্প্রতিকতম পরিবর্তিত, এর চেয়ে বেশি সম্প্রতি তৈরি করা হয়নি not


3
খুশী হলাম। মনে রাখবেন যে -not -newermt '-2 seconds'ফাইলগুলি ঠিক 2 সেকেন্ড পুরানোও মিলবে। -not -newermt '3 seconds'এগুলিও বাদ দিতে ব্যবহার করুন ।
টেরডন

1
হ্যাঁ, প্রান্তের মামলাগুলি সর্বদা মজাদার। আমি এই তুলনাগুলির জন্য এটি কী রেজোলিউশন ব্যবহার করে তা আসলে নিশ্চিত নই। আমার ধারনা হ'ল ~ 2.0000000011 সেকেন্ড আগে যে কোনও কিছু পরিবর্তন করা হয়েছে এটি একটি ম্যাচ, তবে এটি আপনার ফাইল সিস্টেম এবং অপারেটিং সিস্টেমের উপরও নির্ভর করবে।
মাইকেল

ভাল কথা, রেজোলিউশনটি কী তা আমার কোনও ধারণা নেই। আমি সবেমাত্র পরীক্ষা করেছি touch -d "2 seconds ago" file; find . -newermt '-15 seconds' -not -newermt '-2 seconds'এবং পেয়েছি file
টেরডন

@ ইটারডন ওয়েল, এটি টাইমস্ট্যাম্পগুলির রেজুলেশন এক সেকেন্ডের চেয়ে আরও সুনির্দিষ্ট কিনা তা নির্ভর করে; যে সিস্টেম, ফাইল সিস্টেম উপর নির্ভর করবে, এবং এমনকি একই ফাইলসিস্টেম ফাইল মধ্যে তারতম্য হতে পারে যদি এটি একাধিক বিভিন্ন মেশিন দ্বারা ব্যবহৃত হচ্ছে।
ব্ল্যাকলাইট জ্বলজ্বলে

"নতুন" এর অর্থ "সাম্প্রতিককালের তুলনায়"। এটি "মি" যার অর্থ "সংশোধিত"।
অরেঞ্জডোগ

4

আপনি আপনার ওএসের কথা উল্লেখ করেন নি ....

এটি ফ্রিবিএসডি বা এর মতো একটি আধুনিক অনুসন্ধান বাস্তবায়নের সাথে দুর্দান্ত কাজ করে sfind

find /my/directory -name '*.jpg' -mtime -15s -mtime +2s

Sfind Schily সরঞ্জামের অংশ: http://sourceforge.net/projects/schilytools/files/

সতর্কতা: আমি সবেমাত্র একটি সমস্যা আবিষ্কার করেছি sfind। যদি -mtimeযুক্তিগুলি s০ এর চেয়ে কম হয়, তবে এটি সঠিকভাবে কাজ করবে না কারণ বর্তমানে ফাইলের সময়গুলি ভবিষ্যতের 60 সেকেন্ডের টাইম স্ট্যাম্পের সাথে তুলনা করা হয় যা মূলত বছরের জন্য স্যুইচ করার জন্য গণনা করা হয়েছিল -ls

বিটিডাব্লু: এর -notসাথে সম্পর্কিত নয় find, এটি একটি বহনযোগ্য জিএনইউজম।


1
নেই bashট্যাগ ... সুতরাং পরিবেশ Cygwin, ডেবিয়ান জিএনইউ / Hurd হতে পারে, bashFreeBSD 'র বা সোলারিস, ... ;-) চলমান
phk

জিএনইউ-র পক্ষে findমনে হয় যে দশমিকগুলি, যদিও পাগল, তবুও কাজের হিসাবে ব্যবহার করা যেতে পারে।
আর্থার 2e5

POSIX খোঁজ আছে !যেমন -not জন্য! expression । সুতরাং, কোন বড় ব্যাপার।

@phk এই জন্যই আমি পদ্ধতি যা একটি বর্ধিত মান কাজ উল্লেখ primaryথেকে findব্যক্তিদের অবগত করার কোন প্রয়োজন সবসময় নতুন অ্যাড নেই primariesকার্যকারিতা উন্নত পাবে খুঁজে। বিটিডাব্লু: একটি নির্দিষ্ট libfindপ্রকাশিত হয়েছে schily tools
স্কিচলি 11

@ বাইনারিজেব্রা সমস্যাটি হ'ল এটির নামটি আদৌ gfindযুক্ত করা হয়নি -not। এটি কখনই প্রয়োজন ছিল না এবং এর উপস্থিতি কৌশলটিতে বিক্রেতাদের লক হিসাবে দেখা যেতে পারে।
ধীরে ধীরে
আমাদের সাইট ব্যবহার করে, আপনি স্বীকার করেছেন যে আপনি আমাদের কুকি নীতি এবং গোপনীয়তা নীতিটি পড়েছেন এবং বুঝতে পেরেছেন ।
Licensed under cc by-sa 3.0 with attribution required.