как к grep для c:\

Я взглянул бы на Archlinux для 686, Вы могли установить просвещение 16 или 17, fluxbox или LXDE как легкий диспетчер Windows, и это должно работать хорошо на той конфигурации.

Если бы можно сжать еще некоторую RAM в нем, это поможет значительно, 1Go было бы большим, по моему скромному мнению.

3
03.10.2012, 13:56
2 ответа

Ваша ошибка состоит в том, потому что Вы используете двойные кавычки ("), которые позволяют содержанию интерпретироваться оболочкой, прежде чем это доберется до grep.

Попробовать grep -r 'c:\\' . вместо этого.

echo 'c:\' > test
ire@localhost$ cat test
c:\
ire@localhost$ grep -r 'c:\\' test
c:\

Объяснение: \ имеет особое значение, и к оболочке и к grep. Это используется в качестве символа ESC, чтобы позволить следующему символу интерпретироваться буквально.

Когда Вы делаете grep "c:\\", оболочка берет содержание, преобразовывает его в литеральную строку c:\, и передачи это к grep. grep видит единственную обратную косую черту и интерпретирует его как символ ESC. Но нет никакого символа после \ выйти! Так, вполне обоснованно это жалуется.

Используя одинарные кавычки (') защищает содержание от оболочки. Но Вам все еще нужны две наклонных черты, потому что необходимо сказать grep это - литеральная обратная косая черта, которую Вы желаете искать.

С другой стороны, Вы, возможно, сделали:

grep -rF 'C:\' .

или

grep -rF "C:\\" .

-F опция к grep (раньше известный как fgrep команда), говорит grep для поиска фиксированных строк, и поэтому нет ничего для выхода, и обратная косая черта не является особенной для grep (но все еще для оболочки в двойных кавычках).

10
27.01.2020, 21:10
  • 1
    С другой стороны, сделайте grep -r "c:\\\\" таким образом, grep будет видеть c:\\ как его входная строка (одинарные кавычки являются лучшим методом) –  Michael Mrozek♦ 02.10.2012, 22:32
  • 2
    grep -F (fgrep) кажется самым "подходящим" выбором для этого конкретного случая, начиная с 'C': предназначается как литеральная строка. –  jw013 03.10.2012, 18:19

Или просто используйте "c:/" вместо этого (который также работает в соответствии с Windows).

0
27.01.2020, 21:10

Теги

Похожие вопросы