একটি ফোল্ডারে ফাইলের ভিতরে স্ট্রিংগুলি কীভাবে অনুসন্ধান করবেন?


98

কমান্ড লাইন অনুসন্ধানগুলি এড়ানোর জন্য ASCII ফাইলগুলির মধ্যে একটি স্ট্রিং অনুসন্ধান করার কোনও ইউটিলিটি আছে কি?

কমান্ড লাইন অনুসন্ধান কীভাবে করা যায়, উদাহরণস্বরূপ ডিরেক্টরিতে সমস্ত ফাইলের অভ্যন্তরে "পরীক্ষা" স্ট্রিংয়ের জন্য /var/x/?


15
আপনি সত্যিই কমান্ড লাইন ব্যবহার না করে বোঝাতে চান ? কারণ এর জন্য সেরা সরঞ্জামটি
গ্রেপ থেকে

CLI উপর সিলভার অনুসন্ধানকারী সম্ভবত একটি ভাল পেশা আছে।
পাবলো এ

উত্তর:


78

আপনি সার্চমনকি ব্যবহার করতে পারেন। সরঞ্জামটি সংগ্রহস্থলগুলিতে উপলব্ধ, যাতে আপনি সহজভাবে পারেন

sudo apt-get install searchmonkey

অন্যদিকে, গ্রেপ সহ কমান্ড লাইন অনুসন্ধান সত্যিই এটির জন্য ...

এখানে সার্চমনকি থেকে একটি স্ক্রিনশট রয়েছে

এখানে চিত্র বর্ণনা লিখুন


অতিরিক্ত লোডের কারণে ক্র্যাশ হয়েছে :(
ওয়্যারডইন

1
সার্চমনকি নিয়ে আমার সমস্যা হয়েছে। এটি এই অর্থে বিশ্বাসযোগ্য নয় যে এটি প্রচুর ঘটনা স্লিপ করে দেয়
টনি গিল

আমি জিইউআই থেকে কীভাবে "সার্চমনকি" চালাব? কমান্ড লাইন ব্যবহার করে ইনস্টল করার পরে, আমি বরং কমান্ড লাইনটি ব্যবহার করব না
Echeban

153

আমি ধরে নিলাম যে আপনার প্রথম প্রশ্নটি grepকমান্ডের GUI বিকল্প সম্পর্কে about আমি আপনাকে এটির সাহায্য করতে পারি না, আমি সর্বদা কমান্ড লাইনটিকে খুব কার্যকর বলে মনে করি।

কমান্ড লাইন হিসাবে, চেষ্টা করুন

grep "test" /var/x/*

আপনি যদি পুনরাবৃত্তভাবে অনুসন্ধান করতে চান (যেমন কেবল এটিরই নয় /var/x/, এর উপ-ডিরেক্টরিগুলিতেও) তবে করুন

grep -R "test" /var/x/

গ্রেপ যে ফাইলগুলিকে বাইনারি বলে মনে করে সেগুলি গ্রেপিং এড়াতে, -Iবিকল্পটি ব্যবহার করুন :

grep -I "test" /var/x/

গ্রেপ যদি মনে করে যে কোনও ফাইল বাইনারি (ফাইলের প্রথম কয়েকটি বাইটের উপর ভিত্তি করে) হয় তবে এটি ধরে নেবে যে পুরো ফাইলটির পরিবর্তে এটি মেলে না।


1
যদি ফোল্ডারে কিছু অ-এস্কি ফাইল থাকে তবে এটি কাজ করবে?
আনোয়ার

1
ওয়েল, গ্রেপ একটি বাইনারি ফাইলের স্ট্রিংটি অনুসন্ধান করার চেষ্টা করবে এবং এটি মেলে তবে এটির প্রতিবেদন করবে:Binary file file.jpg matches
জানুয়ারী

1
@ জানুয়ারী যখন বাইনারি ফাইলটিকে পাঠ্য হিসাবে পাঠ করা হয়, তবে এটির প্রায়শই দীর্ঘ "লাইন" থাকে (কারণ কোনও অক্ষর বা চরিত্রের অনুক্রম যা একটি লাইনের শেষের জন্য নির্ধারিত করার জন্য ব্যাখ্যা করা হতে পারে তা দীর্ঘ সময়ের জন্য উপস্থিত নাও হতে পারে)। পাঠ্য অনুসন্ধানের ইউটিলিটি যেভাবে প্রয়োগ করা হয়েছে তার উপর নির্ভর করে, প্রতিটি "লাইন" মেমরির সম্পূর্ণরূপে পড়া হয় এবং তারপরে এটি অনুসন্ধানের স্ট্রিংয়ের সাথে মেলে কিনা তা যাচাই করে নেওয়া হয়েছে (যা grepকোড করার জন্য একটি যুক্তিসঙ্গত উপায় , যদিও) উবুন্টু grepসেভাবে লেখা আছে কিনা তা জানেন না )।
এলিয়াহ কাগন

1
সংবেদনশীল অনুসন্ধানের জন্য "
গ্রেপ

3
একটা হওয়া উচিত *পাথ অথবা, grep চূড়ান্ত স্ল্যাশ পর 14.04 কোনো কাজ বলে মনে হচ্ছে না
DavidScherer

20

আপনি রেগজেক্সার ব্যবহার করতে পারেন এটি নিয়মিত অভিব্যক্তির জন্য দুর্দান্ত জিইউআই অনুসন্ধান / প্রতিস্থাপন সরঞ্জাম tool

আপনি এর মাধ্যমে ডাউনলোড করতে পারেন:

sudo apt-get install regexxer

এখানে চিত্র বর্ণনা লিখুন


এটি অত্যন্ত দ্রুত, তবে আমার কাছে এই অ্যাপ্লিকেশনটির সাথে সম্পর্কিত সমস্যাগুলি হ'ল: ১. এটি কেবল পঠনযোগ্য মোডে নেই, তাই আমি ঘটনাক্রমে কোনও কিছু প্রতিস্থাপন বা মোছা করি না it এটি পাঠ্যটি দেখায়, তবে এটি নির্দিষ্টটিতে সরে যাবে না রেখাটি যে প্যাটার্নটি মিলেছে। (রঙটি উজ্জ্বল লাল করে তোলার পরে আমি কী ছিল তা খুঁজে পেতে আমি কোডের প্রায় 2000 লাইনের দিকে স্ক্রোল করেছি!)
মেহরাদ মাহমুদিয়ান

6

রিকোল চেষ্টা করুন, আমি কখনও ব্যবহার করেছি সেরা জিইউআই। উবুন্টুর সমস্ত সমর্থিত সংস্করণগুলিতে রিকোল ইনস্টল করতে টার্মিনালটি খুলুন এবং টাইপ করুন:

sudo apt install recoll

প্রথমে ফাইলগুলি সূচী করতে কিছু সময় প্রয়োজন (আপনি ব্ল্যাকলিস্টের পথ বা এক্সটেনশন বা মাইম সংজ্ঞায়িত করতে পারেন)।


আমি নিশ্চিত করতে পারে Recoll থেকে সম্মান সঙ্গে সম্পূর্ণরূপে অন্য দুনিয়া gnome-search-toolবা search-monkey। এটি জ্যাপিয়ান ব্যবহার করে, সুতরাং এটি শব্দের দস্তাবেজগুলি (.doc এবং .docx উভয়), পিডিএফ ফাইল, মেল ফোল্ডার ইত্যাদির পরিদর্শন করতে এবং সূচী করতে সক্ষম
এভিও

আহ, এটি ডেব প্যাকেজিং ( sudo apt install recoll) এর মাধ্যমে পাওয়া যায় এবং এটি এমন কাজ করে যেখানে গ্রেপ ব্যর্থ হয়, যেমন .ডোক্স ডকুমেন্টগুলি যা পিকেজিপ সংকোচনের সাথে সংকুচিত থাকে।
এভিও

নোট recollযেটির জন্য প্রথমে বিল্ডিং সূচক প্রয়োজন।
ইয়ারোগির্গ

5

আপনি grepটার্মিনাল থেকে কমান্ডটি ব্যবহার করতে পারেন :

grep -r string *

এই কমান্ডটি বর্তমান ডিরেক্টরি (বা সাব-ডাইরেক্টরি) এর অধীনে থাকা সমস্ত ফাইলে "স্ট্রিং" এর সমস্ত উপস্থিতি খুঁজে পাবে।

লুকানো ফাইলগুলির জন্য, আপনি ব্যবহার করতে পারেন:

grep -r string ..


2

দুর্ভাগ্যক্রমে গ্রেপ ওয়ার্ড (.ডোক) ফাইলগুলির মধ্যে অনুসন্ধানের জন্য খুব খারাপ কাজ করে তবে আপনি ক্যাটডোক আউটপুটটিকে গ্রেপের মধ্যে পাইপ করতে পারেন। আমি কোনও প্রোগ্রামার নই তবে এই ছোট স্ক্রিপ্টটি আমার পক্ষে ভাল কাজ করে:

#!/bin/bash
export GREP_OPTIONS='--color=auto'
echo -e "\n
Welcome to scandocs. This will search .doc (NOT .docx) files in this directory for a given string. \n
Type in the text string you want to find... \n"
read response
find . -name "*.doc" | 
while read i; do catdoc "$i" | 
grep -iH --label="$i" "$response"; done

সমস্ত উন্নতি এবং পরামর্শ স্বাগত!


1
এই প্রশ্নটি গ্রাফিকাল অ্যাপ্লিকেশন এবং প্লেইন টেক্সট ফাইলগুলি সম্পর্কে ছিল। আমি নিশ্চিত grepএবং .docপ্রশ্নের সাথে কী করতে হবে তা নিশ্চিত নই ।
Andrea Corbellini

ঠিক আছে বলে মনে হচ্ছে, জানুয়ারীর সম্পর্কে বিস্তারিত উত্তর দেখুন grep
অ্যাকোহার্ড

2

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

এটা দেখ!

https://sourceforge.net/projects/queacetu.gastona.p/


1

https://askubuntu.com/a/1141367/47073 প্রতি

আপনি ব্যবহার করতে পারেন mate-search-tool, যা একই জিনিসটি gnome-search-toolসরানো হয়েছিল। সার্চমনকি নিয়ে আমার সমস্যা ছিল, এটির কিছু ফলাফল অনুপস্থিত এবং ধীর ছিল, প্রস্তাব দিবেন না।

ইনস্টল করতে mate-search-tool:

sudo apt install mate-utils
mate-search-tool

0

আপনি একটি ফোল্ডার থেকে ফাইলের ভিতরে স্ট্রিংগুলি অনুসন্ধান করতে মেনু থেকে সাব্লাইম পাঠ্য Find in Files বিকল্পটি ব্যবহার করতে পারেন Find

সাব্লাইম টেক্সট ইনস্টল করতে 3

sudo add-apt-repository ppa:webupd8team/sublime-text-3
sudo apt-get update
sudo apt-get install sublime-text-installer

এছাড়াও আপনি অনুসরণ করতে পারেন এই ইনস্টল অন্যান্য সম্ভাব্য উপায় জন্য প্রশ্ন সাবলাইম উপর উবুন্টু

সাব্লাইম টেক্সটে কোনও ফোল্ডার থেকে স্ট্রিংয়ের জন্য সমস্ত ফাইল সন্ধান করতে আপনি আরও স্পষ্ট উত্তরের জন্য এই প্রশ্নটি অনুসরণ করতে পারেন ।

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