Я пытаюсь найти какой-нибудь символ в файле, используя find или findstr, например, содержимое файла, например:

"/test/abctest/abci.txt = c:\abctest\tst\work\workt.txt; abc _test1"
"/test/abctest/abci.txt = c:\abctest\tst\work\workt.txt; abc.test2"
"/test/abctest/abci.txt = c:\abctest\tst\work\workt.txt; (abc) test3"
"/test/abctest/abci.txt = c:\abctest\tst\work\workt.txt; abc _test4"

... скоро...
Я хочу найти в файле последний "abc" (жирная часть).
Этот файл очень большой, поэтому я не хочу использовать цикл for для поиска символа.
Не могли бы вы предложить мне какое-нибудь решение?

1 ответ1

0

Если вы хотите установить пакет инструментов Unix, например Cygwin, вы можете использовать команду tac (в противоположность "cat") - она будет читать / отображать файл в обратном направлении. Затем вы можете передать это в findstr (или grep), чтобы получить последнюю подходящую строку из файла. Некоторые версии tail поддерживают ключ -r, который также меняет порядок строк в файле.

Если это не ясно, оставьте мне комментарий, и я уточню.

ОБНОВЛЕНИЕ: инструменты Unix доступны для использования под Windows, если вы установите один из них: cygwin, unxutils, coreutils. Перейдите по этим ссылкам, чтобы установить одну или другую, и тогда у вас будет то, что вам нужно. К вашему сведению, CygWin, кажется, самый популярный и это тот, который я использую.

Всё ещё ищете ответ? Посмотрите другие вопросы с метками .