Хорошее горе. У меня была эта проблема на одном компьютере, находя, что NetworkManager поместил 192.168.1.251 как сервер имен в/etc/resolv.conf даже при том, что моя вся сеть является 192.168.0.0/24. Мое предположение было то, что это имело отношение к полю NetGear WNC2001 Wifi, я включил порт Ethernet того поля Linux. Но затем сегодня, при работе над Windows XP на используемом T60p я просто купил, я нашел, что это правильно получило IP-адрес от моего беспроводного маршрутизатора, но что он установил сервер DNS на 192.168.1.251!! № WNC2001 на этом поле. Походивший большое совпадение, что два полностью различных компьютера в моей сети так или иначе неправильно установили бы свой сервер DNS на 192.168.1.251! Я сделал "ipconfig/, возобновляют" на поле Windows, и оно правильно установило серверы DNS на данных ему моим маршрутизатором (D-Link DIR-628). Я решил искать "DNS 192.168.1.251" и нашел этот сайт. Это - первый сайт, который я проверил. Мне очень любопытно. Проверит несколько других хитов.
Также можно использовать, находят для этого:
find /your/path -type f -exec grep -l 'page_path\\' {} \; -exec sed -i 's#page_path\\#page_path/#g' {} \;
Второе должностное лицо будет выполняться, только если первый был, успешно выполняются, и Вы не получите проблемы с непечатным или символами необходимости Escape в именах файлов.
С grep | xargs
, Вы получаете проблемы с пробелами в именах файлов. Можно избежать этой проблемы при помощи: grep -lZr ... | xargs -0 sed ...
который использует нулевые байты в качестве разделителя.
И теперь относительно команды sed: прием - то, что можно использовать вместо s/a/b/
любой другой символ, например. s#a#b#
:
sed -i 's#page_path\\#page_path/#g'
grep
имеет a -Z
опция для разграниченных пустым указателем имен файлов, таким образом, grep -Z ... | xargs -0 ...
общепринятый путь состоит в том, чтобы сделать это.
– Kevin
21.03.2012, 20:26
grep
с-l
здесь вместо-q
? – don_crissti 01.08.2016, 14:36-q
также опция :) – rush 01.08.2016, 19:16