Я хочу найти строку в некоторых файлах в рекурсивном каталоге и заменить ее на другую строку.Ошибка Grep и Sed
Строка, которую я хочу найти, это 0x04030000&0xffff0000
.
Строка, которую я хочу заменить, - 0x80863a30
.
Я попробовал несколько примеров, но grep
и sed
вызывают некоторые ошибки.
Как grep
говорит 0xffff0000 command not found
Im Использование Mac OS X 10.8.5
Это была команда, я попробовал, и ошибка я получил:
localhost:~ User$ grep -rl 0x04030000&0xffff0000 /Users/Niresh/Desktop/TTT | xargs sed -i 's/0x04030000&0xffff0000/0x80863a30/g'
[4] 1166
-bash: 0xffff0000: command not found
grep: warning: recursive search of stdin
[4]+ Stopped grep -rl 0x04030000
пробовали это команда тоже, но не работает
localhost:~ Niresh$ mkdir TTT
localhost:~ Niresh$ echo "TTT 0x04030000&0xffff0000 bar" > TTT/bar
localhost:~ Niresh$ find TTT -type f -exec sed -i'' -e 's/0x04030000&0xffff0000/0x80863a30/g' {} \;
localhost:~ Niresh$ cat TTT/bar
TTT 0x80863a30 bar
localhost:~ Niresh$ TTT 0x80863a30 bar
-bash: TTT: command not found
, но я пробовал это T оо СЕПГ -i «» -e «s/0x04030000 & 0xffff0000/0x80863a30/г» «Здесь был мой путь к текстовому файлу»
но команда Execute успешно, но текст все еще остается
Я читаю Человек Page СЕПГ Он показывает
Bugs многобайтных символов, содержащих байт со значением 0x5c (ASCII `\«) может быть неправильно трактуется как продолжение строки символов в качестве аргументов в a'',
с»» и i'' commands. Multibyte characters cannot be used as delimiters with the
s „“ и `` y ''.
BSD 10 мая 2005
Покажите нам команду, которую вы попробовали, и объясните свою проблему несколькими примерами. – anubhava
На какой ОС вы работаете? Вам необходимо предоставить _some_ информацию. Это бинарный файл, или вы просматриваете текстовые шестнадцатеричные дампы? Если вы хотите манипулировать двоичным файлом, sed и grep могут не делать этого. Awk не мог. Perl или другие языки сценариев. Если у вас есть двоичный файл и вы хотите получить шестнадцатеричный дамп, найдите вещь, замените ее и верните результат в двоичный файл, это может сработать. Но вы можете сделать это сложнее, чем нужно. –
Mac OS X 10.8.5 Я не знаю, как получить Hext Dump? –