Существует ли способ обнаружить пустые байты (␀, NUL, \0) в sed?

Возможно, Вы можете иметь изменение сценария файл about:config (или выполнить макрос, чтобы сделать это) для Firefox также.

Вы найдете bookmarks.html в %APPDATA %\Mozilla\Firefox\Profiles*.default папкой на многих полях окон. http://kb.mozillazine.org/Profile_folder_-_Firefox

Сначала получите твердое местоположение для того (без подстановочного знака *) или переместите его и внесите изменения. Не уверенный в по сети, но просто проверяют его.

От той же самой папки у Вас есть prefs.js, который является теми же настройками из about:config в Firefox.

Add line to prefs.js: 
user_pref("browser.bookmarks.file", "");

Вручную в Firefox:

open about:config in firefox
right click in the window (any of the fields, but in the middle somewhere)
select "New->String"
add "browser.bookmarks.file" and the location ""

http://ilias.ca/blog/2006/04/customize-the-firefox-bookmarks-location/

так или иначе еще не протестировали, но это было бы способом пойти.

Править: Я неправильно читал вопрос. Мысль Вы хотели совместно использованные закладки... Можно просто отредактировать bookmark.html в папке профиля Firefox.

EDIT2: И это было окнами и не unix/linux. Так или иначе на Linux это легче. Я возвращался для высказывания где в установщике для изменения.

Это не тестируется также, но я могу, вероятно, протестировать это позже, потому что у меня есть поле Linux, которое я могу изменить. Можно открыть установщик и изменить следующее:

Before you run, create  with the bookmark.html (I think you need bookmarks.bak too)

edit "/firefox/defaults/prefs/channel-prefs.js"
add "pref("browser.bookmarks.file", "");" to the end

Снова, не протестировали, но вероятно сможет слишком позже.

15
13.04.2017, 15:36
2 ответа

Пример:

Докажите, что я отправляю байт NUL, сопровождаемый новой строкой:

$ echo -e \\0 | hexdump -C
00000000  00 0a                                             |..|
00000002

Теперь я изменяю байт NUL на ! восклицательный знак:

$ echo -e \\0 | sed 's/\x00/!/' | hexdump -C
00000000  21 0a                                             |!.|

Таким образом, прием использует \x00 как NUL-байт.

17
27.01.2020, 19:49
  • 1
    Вы можете echo -ne \\0 избегать новой строки. –  l0b0 18.04.2012, 13:42
  • 2
    Замена hexdump -C с uniname -bcepu видеть, какой символ это выводит. –  l0b0 18.04.2012, 13:43
  • 3
    Это должно быть упомянуто это \x нестандартное sed расширение, но GNU sed действительно обеспечивает его. –  jw013 18.04.2012, 15:08
  • 4
    Это должно быть также упомянуто, это echo -e bashism. printf намного более совместимо. –  jofel 18.04.2012, 15:09

Да, шаблон \x00 соответствия к пустому байту.

Пример:

$ printf "\0\n\0\n" > file
$ sed -e 's/\x00/test/' -i file
$ cat file
test
test
$  
7
27.01.2020, 19:49
  • 1
    @l0b0: причина, почему это работало на меня, состояла в том, что я использовал zsh. Согласно POSIX, это заменяет \0 нулевым байтом. Эта замена не необходима ("буду поддерживаться"), и на самом деле колотите, не поддерживает его непосредственно. Для него необходимо использовать echo -e. Я заменяю echo с с printf в моем ответе, который, кажется, более совместим... –  jofel 18.04.2012, 15:04

Теги

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