Програмне забезпечення для пошуку тексту у файлах


24

Я шукаю програмне забезпечення, яке шукатиме текст у файлах із папки, схожої на XYplorer .

Чи є щось подібне?


Чи повинен це бути інструмент GUI?
Октавіан А. Дам’ян

1
@ Octavian так, але це навіть немає, воно буде працювати для мене
Santosh Linkha

Відповіді:


19

Є дуже приємний, який доставляється з Ubuntu поза коробкою.

  1. Відкрийте тире ( Superклавіша або кнопка Ubuntu) і починайте вводити текст, поки не знайдетеSearch for Files

    введіть тут опис зображення

  2. Сказане вище стосується Unity, за замовчуванням середовища для робочого столу Ubuntu. У середовищах, керованих меню, перейдіть до Applications-> Accessories->Search for Files

    введіть тут опис зображення

  3. Розгорніть Select more optionsрозділ та введіть текст для пошуку у полі Contains the text:введення.

    введіть тут опис зображення

Особливості:

  • 100% GUI
  • Ви можете шукати імена файлів або вмісту
  • Це виглядає в підпапках.

З огляду на ваш сценарій (без термінальних команд, простий у користуванні інтерфейс), я думаю, немає кращого варіанту.

PS: у полі Contains the text:введення '.' персонаж - це майна. Щоб уникнути цього, ви повинні використовувати "[]". Напр .: введіть Contains the text: [.]myFunctionдля пошуку .myFunction


так, я не бачив, я можу додати деталі
Santosh Linkha

1
так, ви можете ... просто натиснути "вибрати більше параметрів", і у вас можуть бути не тільки "Містить текст", а й тони інших варіантів пошуку (дата, користувач, розмір файлів, навіть вирази з регулярними виразами). Я також давно пропустив цього маленького звіра ... Я б хотів, щоб він був інтегрований у Наутілус (начебто F3 у Провіднику Windows)
MestreLion

це те саме, що я радив ранішеgnome-search-tool
Mikl

@Octavian: Дякуємо за надання скріншотів!
MestreLion

@Mikl: той самий результат, різниця полягає в підході до того, як викликати його: ваше початкове рішення було зосереджене на виклику командного рядка (або ALT + F2), і лише коротко згадувалося, що його можна також знайти в меню. Не сказав, де або що назва програми була в меню. Лише після того, як я опублікую свою відповідь, ви відредагували свою, щоб вказати шлях до меню та ім'я. Для новачків підхід, орієнтований на меню, завжди кращий, ніж виклик CLI. ALT + F2 слід використовувати лише тоді, коли програмне забезпечення недоступне в меню.
MestreLion

11

використання

 grep -nr <your text> .

помістіть текст, який ви хочете знайти, всередині <ваш текст>


чи виглядає це в
підпапках

experimentx@workmateX:/var/www/testingzedn$ grep -nr application.iniприймає назавжди ... я неправильний
Сантош Лінкха

потрібна крапка. , він
загляне

grep -nr application.ini.
wizztjh

9

ви можете використовувати

find . -name '*.*' -exec grep -Hn 'text to find' '{}' \;

-name '*. *' або '* .txt' (тут використовується маска файлу)
'text to find' (розмістити текст, який ви хочете знайти тут)

find . -type f -exec grep -Hn 'text to find' '{}' \;

якщо ви хочете шукати всі файли


Не використовуйте всі файли, -name '*.*'оскільки файли не завжди мають розширення. Використовуйте -type fнатомість (для пошуку у всіх файлах). Замініть {}на "{}", інакше назви файлів з пробілом у ньому не будуть шукані правильно.
Лекенштейн

@Lekensteyn я відредагував своє повідомлення. але я зробив декілька тестів з файлами з пробілами в іменах та без помилок під час використання {} цитат woutout.
Мікл

просто перевірив це теж, і ти маєш рацію, пробіли - це не проблема. У деяких оболонках цитати можуть все-таки бути необхідними для запобігання розширення оболонки. З man find: "Обидві ці конструкції, можливо, знадобиться уникнути (із символом" \ ") або цитувати їх, щоб захистити їх від розширення оболонкою."
Лекенштейн

9

Графічний інструмент:

gnome-search-tool

ви можете знайти його в головному меню Ubuntu

Menu -> Accessories -> Search for Files

або запустіть його за допомогою гарячої клавіші ALT + F2


1
Просто оновлення для новіших версій Ubuntu: на інтерфейсі Unity (Ubuntu 12 або вище) натисніть на Dash Home (перша піктограма на панелі інструментів), введіть «пошук» та виберіть програму «Пошук файлів».
josircg

9

Я прихильник пошукової мавпи (GPL, безкоштовно, крос-платформа, досить легкий ресурс і дуже швидкий).

введіть тут опис зображення


Виглядає добре. Буде спробувати на інших платформах, оскільки відповідь, що проголосує головою, відповідає моєму законопроекту про Ubuntu.
Amol Gawai

Здається, це не працює в 64-бітних операційних системах (я зіткнувся з проблемою при виграші 7 64 біт). Це вимикач угод для мене, оскільки я використовую 64-бітні ОС на будь-якому місці. Хоча виглядало багатообіцяюче.
Амол Гавай

@AmolGawai прекрасно працює на ubuntu 64bit тут ...
Водолій Водолей

4

Regexxer дозволить шукати текст у файлах. Не впевнений, що ви маєте на увазі під "в папках".

введіть опис посилання тут


3

Графічний пошук:

у Kubuntu відкрийте Дельфін, потім Правка-> Знайти (Ctrl + F)

перейти від імені файлу до вмісту та налаштувати, де шукати.


2

Recoll робить індексацію, і ви можете здійснювати повний пошук документів та електронну пошту.


Перегляд 50 000 папок - це біль: D, якщо ви не індексуєте дані, тому якщо ви не можете придбати SSD-диск, встановіть будь-який інструмент індексації, перш ніж витрачати час на пошук файлів. Робіть роботу один раз. Навіть якщо це не відповідь на поточне запитання, це хороша точка зору.
m3nda

1

Я порівнював три пропозиції тут із 64-розрядним 16.04 Kubuntu:

  1. На сьогодні Searchmonkey працює з 64-розрядним Ubuntu. Це схоже на regexxer. Це з’явилося швидко, але, природно, це набагато повільніше, ніж пошук на основі індексу.
  2. Пошук файлів і Alt-F2 не працюють з версією KDE Ubuntu.
  3. Моя рекомендація - Recoll, і я додав до неї кілька інструкцій з установки. Для мене встановлення за замовчуванням підтримує PDF (перевірити це!), DOCX, TAR, ZIP тощо.

    sudo add-apt-repository "deb http://archive.canonical.com/ $(lsb_release -sc) partner"
    sudo apt-get install recoll antiword
    recoll
    
  4. Перший рядок, ймовірно, не потрібен: він додає партнерський сховище встановлення.

  5. Антислова необов’язкові. Він потрібен для підтримки старих файлів .doc.
  6. Увімкніть наступні символьні посилання та кореневий каталог із Перезавантажити преференції, якщо це необхідно.
  7. Створіть завдання cron для індексації Recoll за допомогою GUI або запускайте його при кожному вході.
  8. Змініть налаштування Recoll у налаштуваннях з англійської на всі мови, якщо це підходить вам.
  9. Почніть індексацію, принаймні для мене це було напрочуд швидко і не використав усіх ресурсів, тому я зміг продовжувати користуватися ноутбуком.
  10. Я знайшов одну помилку в Recoll досі: якщо ви шукаєте ім'я файлу за допомогою "PST", він не знаходить його, навіть якщо він знаходиться у великому регістрі. "pst" працює, і він знаходить і великі, і малі імена.
  11. Дізнайтеся більше про відмову від https://www.lesbonscomptes.com/recoll/features.html

Якщо ви хочете додати підтримку файлів PST Outlook, тоді вам також потрібно виконати наступне.

    sudo apt-get install readpst
    mkdir ~/PST
    find -L ~ -name "*.pst" -print | awk "{ printf \"%s%s %s%s%s %s\\n\", \"mkdir ~/PST/\", \$1, \"; readpst -o ~/PST/\", \$1, \" -D -j 4 -r -tea -u -w\", \$1 }" > /tmp/myPstFiles
    cat /tmp/myPstFiles
    chmod 755 /tmp/myPstFiles
    /tmp/myPstFiles
  1. Змініть кореневий каталог з ~ на / при необхідності в команді find.
  2. У моєму скрипті пошуку є помилка: він створює занадто довгу структуру каталогів зараз. Але мені було легше змінити темп-файл вручну, ніж знайти виправлення до цього. Основна мета полягала в тому, що це буде працювати для декількох файлів PST, і це робиться так.
  3. Дізнайтеся більше про Readpst від http://www.five-ten-sg.com/libpst/rn01re01.html та https://blog.robseder.com/2015/08/29/working-with-a-pst-file -in-linux /

0

Я дуже хочу ввести один інструмент, який базується на бібліотеці ncurses для надання текстового інтерфейсу користувача. Інструмент під назвою NCGREP (grep на основі ncurses) в основному для пошуку тексту в певній папці. Сподіваюся, що це те, що ти хочеш. Це джерело інструменту розміщено на github.com, докладніше див. На https://github.com/ncgrep/ncgrep

введіть тут опис зображення
Клацніть зображення, щоб побачити демо-анімацію

Використовуючи наш веб-сайт, ви визнаєте, що прочитали та зрозуміли наші Політику щодо файлів cookie та Політику конфіденційності.
Licensed under cc by-sa 3.0 with attribution required.