ack-grep to ack in ubuntu


19

আমি কেবল ভাবছিলাম, আমি সম্প্রতি আক্ক ইনস্টল করেছি (উবুন্টুতে এস্কি-গ্রেপ) এবং এসি-গ্রেপ পেতে কীভাবে কেবল এসকে টাইপ করবেন তা আমি বুঝতে পারি না (কোনও কারণে আক্কি একটি কানজি অনুবাদক জিনিস গ্রহণ করেছে)।

শেলের মধ্যে জিনিসটিকে সরিয়ে রাখার চেয়ে আরও ভাল উপায় কি আছে (এটি বিশ্বব্যাপী নয়, এবং উদাহরণস্বরূপ এটি ভিএমকে উত্সাহিত করতে পারে না)।

অনেক ধন্যবাদ!

উত্তর:


16

আপনি লিঙ্ক বা অনুলিপি ack-grepকরুন /usr/local/binযাতে এটি PATH- এ অগ্রাধিকার পেতে পারে:

sudo ln -sf /usr/bin/ack-grep /usr/local/bin/ack

অথবা, ডেভির পরামর্শ মতো, ackআপনার যদি এটির প্রয়োজন না হয় তবে তা থেকে মুক্তি পান:

sudo apt-get remove ack

আরেকটি সলিউশন ব্যবহার জড়িত করা হবে dpkg-divertবলতে dpkgযে আপনার সমস্ত প্যাকেজ তাদের করতে চান /usr/bin/ackস্থানীয়ভাবে নতুন নামকরণ এবং তারপর প্রতি সংযোগ আছে ack-grepকরার ackপথে।


20

উবুন্টু / ডেবিয়ানে আপনি "ডাইভার্ট" করতে পারেন ack-grep:

sudo dpkg-divert --local --divert /usr/bin/ack --rename --add /usr/bin/ack-grep

8

দেবিয়ান বিকল্প সিস্টেম ব্যবহার করুন।

$ update-alternatives --install /usr/bin/ack ack /usr/bin/ack-grep 100 \
--slave /usr/share/man/man1/ack.1p.gz ack.1p.gz /usr/share/man/man1/ack-grep.1p.gz

ডান দিকটি পেতে কমান্ডটি জটিল, তবে নিম্নলিখিত কারণগুলির জন্য সমাধানটি ডিপিকেজি-ডাইভার্টের চেয়ে সেরা:

  1. প্যাকেজ ইনস্টলেশনটি জোর করে বা ওভাররাইড করে না
  2. ম্যানপেজের জন্য একটি দাস লিঙ্ক স্থাপন সক্ষম করে

এখানে ডেবিয়ান বিকল্প সম্পর্কিত আরও তথ্য: http://wiki.debian.org/DebanAl متبادل s

বিকল্প ইনস্টল করা ack-grep হিসাবে আমন্ত্রণ ackজানাতে এবং ম্যানপেজটি ব্যবহার করে সক্ষম করে man ack


1
এটি সেরা উত্তর আইএমএইচও!
রেনেউদ

এটি করার জন্য এটি "ডান" ডিবিয়ান / উবুন্টু উপায়।
টিজিগুলি

7

স্বল্প বাধা:

ওরফে আক্ক = অ্যাক-গ্রেপ


প্রশ্নটি ওরফে ব্যতীত অন্য কোনও কিছুর জন্য জিজ্ঞাসা করে, সঠিকভাবে উল্লেখ করে যে এই সমাধানটি বেশ সীমাবদ্ধ এবং ভিম বা ব্যাশ স্ক্রিপ্টগুলি থেকে গুলি চালিয়ে সহায়তা করতে পারে না।
ইয়ান গ্রিনালিফ ইয়ং

@ ইয়ানগ্রিনালিফ বাহ, আপনি ঠিক বলেছেন - 4 বছর পরে তা দেখতে বিব্রতকর!
ওফস

7

সবচেয়ে সহজ কাজটি হ'ল সিপিএন এর মাধ্যমে আক্ক ইনস্টল করা। এটি / ইউএসআর / স্থানীয় / বিনে ইনস্টল করা হবে, যা / ইউএসআর / বিনের চেয়ে বেশি অগ্রাধিকার পেয়েছে। শেষ ঘন্টা:

sudo cpan App::Ack

অথবা আপনার সিপিএন ক্লায়েন্ট না থাকলে:

curl -L cpanmin.us | perl - --sudo App::Ack

2
উবুন্টু 10.04 এলটিএসে আমার পক্ষে কাজ করেনি। ত্রুটি বার্তা: "বোকা হবেন না, আপনি ড্যানিয়েল বোসোল্ড ইনস্টল করতে পারবেন না"। কিন্তু sudo cpan -i App::Ackনা।
geekQ

আমিই কি একাই মনে করি যে এটি নিরাপদ নয়?
SaveTheRbtz

2

ধরে নিই যে কাঁজি অনুবাদকটি ইতিমধ্যে / ইউএসআর / বিন / অ্যাক নয় এবং এর অবস্থানটি পরে আপনার পথে / ইউএসআর / বিনের তুলনায় রয়েছে, তবে আপনি সম্ভবত এটি করতে পারেন:

sudo ln -sib /usr/bin/ack-grep /usr/bin/ack

এটি গন্তব্য বিদ্যমান থাকলে অপারেশনটি নিশ্চিত করতে আপনাকে অনুরোধ জানাবে এবং আপনি হ্যাঁ নির্বাচন করলে ব্যাকআপ তৈরি করে।


2
দুর্ভাগ্যক্রমে কানজি আক্ক / ইউএসআর / বিনে বাস করে তাই আপনি যদি
এগুলি

0

আমি সিমলিংক বিকল্পটি নিয়ে যাব কারণ এটি যদি আপনি আপনার বাশ ফাইলটি অনুলিপি করেন তবে উপনামটি অন্য মেশিনে স্থানান্তরিত করার ঝুঁকিটি বাঁচায়।

এই সাথে যান, আমার উবুন্টু 12.04 এর বিল্ডে দুর্দান্ত কাজ করে

sudo apt-get install ack-grep
sudo ln -sf /usr/bin/ack-grep /usr/local/bin/ack

0

আমার সমাধানটি এত পরিষ্কার নয় কারণ এটি লিখিত আছে /bin/তবে যতক্ষণ /usr/bin/ackনা বাইনারি হয় এবং কোনও সিমলিংক না হয় আমার পক্ষে এইভাবে ঠিক করা সহজ ছিল।

sudo update-alternatives --install /bin/ack ack /usr/bin/ack 100
sudo update-alternatives --install /bin/ack ack /usr/bin/ack-grep 102

কোনটি ব্যবহার করবেন তা চয়ন করতে

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