क्या कमांड लाइन खोजों से बचने के लिए ASCII फ़ाइलों के अंदर एक स्ट्रिंग की खोज करने के लिए कोई उपयोगिता है?
एक कमांड लाइन खोज कैसे करें, उदाहरण के लिए स्ट्रिंग "परीक्षण" के लिए निर्देशिका में सभी फाइलों के अंदर /var/x/
?
क्या कमांड लाइन खोजों से बचने के लिए ASCII फ़ाइलों के अंदर एक स्ट्रिंग की खोज करने के लिए कोई उपयोगिता है?
एक कमांड लाइन खोज कैसे करें, उदाहरण के लिए स्ट्रिंग "परीक्षण" के लिए निर्देशिका में सभी फाइलों के अंदर /var/x/
?
जवाबों:
आप Searchmonkey का उपयोग कर सकते हैं। उपकरण रिपॉजिटरी में उपलब्ध है, इसलिए आप बस कर सकते हैं
sudo apt-get install searchmonkey
दूसरी ओर, grep के साथ कमांड लाइन खोज वास्तव में उस के लिए है ...
यहाँ searchmonkey से एक स्क्रीनशॉट है
मैं मानता हूं कि आपका पहला सवाल grep
कमांड के GUI विकल्प के बारे में है । मैं आपकी मदद नहीं कर सकता, मुझे हमेशा कमांड लाइन बहुत प्रभावी लगती है।
कमांड लाइन के लिए प्रयास करें
grep "test" /var/x/*
यदि आप पुनरावर्ती खोज करना चाहते हैं (अर्थात न केवल अंदर /var/x/
, बल्कि उपनिर्देशिका में भी), करें
grep -R "test" /var/x/
फ़ाइलों को टटोलने से बचने के लिए जो grep को द्विआधारी होने का विचार करता है, -I
विकल्प का उपयोग करें :
grep -I "test" /var/x/
अगर grep को लगता है कि कोई फ़ाइल बाइनरी है (फ़ाइल के पहले कुछ बाइट्स के आधार पर), तो यह मान लेगा कि यह पूरी फ़ाइल के माध्यम से जाने के बजाय मेल नहीं खाता है।
Binary file file.jpg matches
grep
कोडित होने के लिए एक उचित तरीका है , हालांकि मैं पता नहीं कि उबंटू grep
इस तरह लिखा गया है)।
*
रास्ते में अंतिम स्लैश के बाद होना चाहिए या जीआरपी 14.04 में कोई काम करने के लिए प्रकट नहीं होता है
आप regexxer का उपयोग कर सकते हैं यह एक शानदार GUI खोज है / नियमित अभिव्यक्ति के लिए उपकरण बदलें।
आप इसके द्वारा डाउनलोड कर सकते हैं:
sudo apt-get install regexxer
Recoll की कोशिश करो, सबसे अच्छा जीयूआई मैं कभी भी इस्तेमाल किया। उबंटू के सभी वर्तमान में समर्थित संस्करणों में रिकॉल स्थापित करने के लिए टर्मिनल खोलें और टाइप करें:
sudo apt install recoll
पहले फाइलों को अनुक्रमित करने के लिए कुछ समय चाहिए (आप ब्लैकलिस्ट पथ या एक्सटेंशन या माइम को परिभाषित कर सकते हैं)।
gnome-search-tool
या उसके साथ पूरी तरह से एक और दुनिया है search-monkey
। यह Xapian का उपयोग करता है, इसलिए यह वर्ड डॉक्यूमेंट (दोनों .doc और .docx), pdf फाइल्स, मेल फोल्डर, आदि का निरीक्षण करने में सक्षम है
sudo apt install recoll
) के माध्यम से उपलब्ध है और यह अपना काम करता है जहां grep विफल रहता है, जैसे .docx दस्तावेज़ जो pkzip संपीड़न के साथ संपीड़ित होते हैं।
recoll
पहले बिल्डिंग इंडेक्स की आवश्यकता है।
दुर्भाग्य से grep Word (.doc) फ़ाइलों के अंदर खोज करने का बहुत खराब काम करता है, लेकिन आप catdoc आउटपुट को grep में पाइप कर सकते हैं। मैं कोई प्रोग्रामर नहीं हूँ, लेकिन यह छोटी स्क्रिप्ट मेरे लिए अच्छा काम करती है:
#!/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
सभी सुधार और सुझावों का स्वागत है!
grep
और क्या .doc
करना है।
grep
।
मैंने काम करने के लिए एक सरल उपकरण जारी किया है। मुख्य रूप से सॉफ़्टवेयर डेवलपर के लिए सोचा गया, इसमें एक ही विंडो में कई फ़ाइलों को खोलने की विशिष्ट (अद्वितीय?) विशेषता है। यह ऐस संपादक (पुनः शामिल!) या html textarea का उपयोग करके ब्राउज़र में परिणाम प्रस्तुत करता है। यह एक जावा आधारित उपकरण है, इसलिए यह खिड़कियों के साथ-साथ लिनक्स में भी चलता है।
इसकी जांच - पड़ताल करें!
प्रति https://askubuntu.com/a/1141367/47073
आप उपयोग कर सकते हैं mate-search-tool
, जो कि वही चीज gnome-search-tool
है जिसे हटा दिया गया था। मुझे सर्चमॉन्की के साथ समस्या थी, यह कुछ परिणाम याद कर रहा था और धीमा था, अनुशंसा नहीं करता।
स्थापित करने के लिए mate-search-tool
:
sudo apt install mate-utils
mate-search-tool
आप फ़ोल्डर से फ़ाइलों के अंदर स्ट्रिंग की खोज करने के लिए मेनू से Sublime पाठ Find in Files
विकल्प का उपयोग कर सकते हैं Find
।
sudo add-apt-repository ppa:webupd8team/sublime-text-3
sudo apt-get update
sudo apt-get install sublime-text-installer
आप इस प्रश्न को उबंटू पर सबलाइम स्थापित करने के अन्य संभावित तरीकों के लिए भी अनुसरण कर सकते हैं ।
उदात्त पाठ में एक फ़ोल्डर से स्ट्रिंग के लिए सभी फ़ाइलों को खोजने के लिए आप इस प्रश्न का अधिक स्पष्ट उत्तर के लिए अनुसरण कर सकते हैं ।