Я понимаю, что nmap является стандартом hackish голливудское приложение и здесь является страницей от парня, который работал для создания голливудского взламывания на Троне более реальным.
Две подсказки:
Вы не можете выйти из одинарной кавычки в строке, заключенной в кавычки с одинарными кавычками. Таким образом, необходимо закрыть кавычку, добавьте завершенную кавычку, затем откройте кавычки снова. Это: 'foo'\''bar'
, который ломается как:
'foo'
заключенный в кавычки foo
\'
завершенный '
'bar'
заключенный в кавычки bar
получение foo'bar
.
/
в sed. Я нахожу то использование /
и \
в том же sed выражении мешает читать.Например, для удаления кавычек из этого файла:
$ cat /tmp/f
aaa"bbb"'ccc'aaa
Учитывая мои две подсказки выше, команда можно использовать для удаления и двойных и одинарных кавычек:
$ sed -e 's|["'\'']||g' /tmp/f
На основе моей первой подсказки оболочка уменьшает второй аргумент sed (т.е. строка после -e
) к s|["']||g
и передачи та строка к sed. На основе моей второй подсказки sed рассматривает это то же как s/['"]//g
. Это означает
удалите все символы, соответствующие также
'
или"
(т.е. ничем замените их),
Вам, вероятно, нужно что-то более сложное, чем это, чтобы сделать то, что Вы хотите, но это - запуск.
У меня есть порт утилит Unix для Windows, поэтому команды выглядят немного иначе, но у меня был CSV-файл с запятыми и кавычками. Используя эту тему в качестве руководства, я смог удалить кавычки с помощью этой команды:
c:\Temp> cat report.csv | sed "s/\,/\ /g" | sed "s/[""]//g"
'foo'\''bar'
, мы могли бы использовать'foo'"'"'bar'
. – Scott 29.07.2014, 00:30