কমান্ড আর্গুমেন্ট হিসাবে ড্যাশ "-" দিয়ে শুরু হওয়া ফাইল নামগুলি কীভাবে আমি ব্যবহার করব?


20

এটি একটি সাধারণ প্রশ্ন হতে পারে তবে আমি কীভাবে কমান্ড লাইন প্রোগ্রামগুলির সাহায্যে "-" দিয়ে ফাইলগুলি ব্যবহার করব?

উদাহরণস্বরূপ, আমি pdfgrepনামের একটি ফাইল ব্যবহার করার চেষ্টা করছি -2013-01-01.pdfতবে এটি অভিযোগ করে যে 2, 0, 1, 3 এবং আরও কিছু জন্য সংজ্ঞায়িত কোনও বিকল্প নেই।

"-" দিয়ে শুরু হয় না এমন ফাইলের নাম পরিবর্তন করে এটি সমাধান করে তবে ফাইলগুলি আমার দ্বারা তৈরি না হওয়ায় এটি কোনও বিকল্প নয়। আমি কেবল জানি যে একটি নির্দিষ্ট পরিবর্তন আসছে তা আমি খতিয়ে দেখতে চাই।


এই ডস কাজ করে না, আমাকে আগের মতো একই ত্রুটি দেয়
ক্রিস্টোফার

3
উদাহরণ হিসাবে grep -i dfv -- -myfile1 -myfile2,।

ওই কাজগুলো! ধন্যবাদ! এটির উত্তর দিন এবং আমি এটি ভবিষ্যতের প্রজন্মের কাছে স্বীকৃত হিসাবে চিহ্নিত করতে পারি :)
ক্রিস্টোফার

@ অলিনা, কোটগুলি ব্যবহার করে বিশেষত পিডিএফগ্রিপ দিয়ে কাজ করেছে? এটি আমার পক্ষে কাজ করে না। আমি লুবুন্টু ব্যবহার করছি।

4
@ অলিনা: উদ্ধৃতি চিহ্নগুলি কাজ করবে না, কারণ তারা শেল দ্বারা ব্যাখ্যা করা হয়, প্রোগ্রাম নয়।
হামার

উত্তর:


22

--কোনও প্রোগ্রামে সংকেত দিতে কমান্ড-লাইনে খুব ঘন ঘন ব্যবহার করা হয় যা আর কোনও উপলভ্য কমান্ড স্যুইচ ব্যবহার করা যাচ্ছে না। এটি বিশেষত কার্যকর যদি কোনও ফাইলে কোনও ড্যাশ থাকে তবে প্রোগ্রামটি একটি বিকল্প হিসাবে ব্যাখ্যা করার চেষ্টা করবে।

  1. ছাড়া --, একটি ত্রুটি উত্পন্ন হয়েছে:

    $ pdfgrep -i posix -find.pdf -xorg.pdf
    
    pdfgrep: invalid option -- 'f'
    pdfgrep: invalid option -- 'd'
    pdfgrep: invalid option -- '.'
    pdfgrep: invalid option -- 'p'
    pdfgrep: invalid option -- 'd'
    pdfgrep: invalid option -- 'f'
    
  2. --ব্যবহৃত সঙ্গে আমাদের একটি সফল কমান্ড রয়েছে:

    $ pdfgrep -i posix -- -find.pdf -xorg.pdf
    
    -find.pdf: on the command line. Currently-implemented types are emacs (this is the default), posix-awk,
    -find.pdf: posix-basic, posix-egrep and posix-extended.
    -find.pdf: posix-basic, posix-egrep and posix-extended.
    -find.pdf: posix-basic, posix-egrep and posix-extended.
    
  3. pdfgrep--নিম্নলিখিত কমান্ড-লাইন আর্গুমেন্টগুলি বিকল্প নয় তা বোঝার জন্য প্রোগ্রাম করা হয়েছে । বেশিরভাগ প্রোগ্রামগুলি একই কাজ করে তবে সমস্ত প্রোগ্রাম বোঝে না-- । যে প্রোগ্রামগুলি না করে তাদের জন্য সমাধানটি হ'ল ফাইল নামটি এর সাথে এইভাবে সংশোধন করা ./:

     pdfgrep -i posix ./-find.pdf ./-xorg.pdf
    

    এটি কোনও কমান্ডের সাথে কাজ করা উচিত, যদি না কোনও কারণে কমান্ড কোনও পাথ গ্রহণ করতে না পারে তবে কেবল একটি খাঁটি ফাইলের নাম।

কমান্ড-লাইনের সাধারণ পরিচিতির জন্য, এই দরকারী পিডিএফ দেখুন


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

3
যেসব প্রোগ্রামগুলি --সাধারণ কর্মসূচিটি স্বীকৃতি দেয় না তাদের ./জন্য ফাইলটির সামনে pdfgrep ./-2013-01-01.pdf
রাখছি

2
হ্যাঁ, ./সামনে রাখাই সর্বাধিক বহনযোগ্য এবং শক্তিশালী সমাধান। যে কোনও প্রোগ্রামে, যেকোন ইউনিক্স সংস্করণে কাজ করে।
hlovdal

16

আপনি ফাইলের নামটি ./(বা অন্য কোনও আপেক্ষিক বা পরম পথ যা কাজ করে) এর মাধ্যমে প্রিপেন্ড করুন । এইভাবে এটি পোর্টেবল।

উদাহরণ:

for zefile in ./*.tmp
do
   rm -f "$zefile"
done

--বিকল্পগুলির শেষ নির্দেশ করার জন্য ব্যবহার সর্বদা পাওয়া যায় না। কিছু কমান্ড এটি জানবে, কিছু জানতে পারবে না। এবং এটি বিভিন্ন সিস্টেম জুড়ে পরিবর্তন হবে। সুতরাং শেষ পর্যন্ত, এটি কম পোর্টেবল।

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