Я взглянул бы на Archlinux для 686, Вы могли установить просвещение 16 или 17, fluxbox или LXDE как легкий диспетчер Windows, и это должно работать хорошо на той конфигурации.
Если бы можно сжать еще некоторую RAM в нем, это поможет значительно, 1Go было бы большим, по моему скромному мнению.
Ваша ошибка состоит в том, потому что Вы используете двойные кавычки ("
), которые позволяют содержанию интерпретироваться оболочкой, прежде чем это доберется до 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
(но все еще для оболочки в двойных кавычках).
Или просто используйте "c:/"
вместо этого (который также работает в соответствии с Windows).
grep -r "c:\\\\"
таким образом, grep будет видетьc:\\
как его входная строка (одинарные кавычки являются лучшим методом) – Michael Mrozek♦ 02.10.2012, 22:32grep -F
(fgrep
) кажется самым "подходящим" выбором для этого конкретного случая, начиная с 'C': предназначается как литеральная строка. – jw013 03.10.2012, 18:19