Как заменить теги html командой SED?

Используя ответ Грега, вы можете просто запустить синхронизацию в фоновом режиме, отображая состояние грязного блока в памяти.

Для этого просто запустите эту команду:

sync & watch -n 1 grep -e Dirty: /proc/meminfo

Это вызовет sync в фоновом режиме, в то время как выполнение watch впереди. Когда команда sync завершится (примерно, когда размер грязного блока достигнет 0), вы получите вывод, который выглядит следующим образом:

1]  + 27260 done        sync

Это означает, что команда завершена, и вы можете убейте команду watch с помощью Ctrl+C.

0
09.03.2017, 01:37
3 ответа

Sed может использовать много разных символов в качестве разделителей; вы выбрали /, но / также присутствует в строке, которую вы хотите заменить. Поэтому я бы выбрал:

sed 's: th> file- [0-9] + /th>:th>S.No name / th>: g' yourfile

Обратите внимание, однако, что если вы хотите обработать что-то более сложное, вам следует анализировать HTML, а не использовать регулярное выражение.

3
28.01.2020, 02:25

Не знаю, насколько он должен быть надежным, но попробуйте sed -e "s / file - [^ / ] * / S.No Name / g "Diff.html и для непосредственного редактирования файла используйте sed -ie

0
28.01.2020, 02:25
perl -0777pe '
   s{ (?<=th>\s) file-\d+ (?=\s/th>) }{
      qx/sed -e "4q;d" "$&"/ =~ /.*/;
      $&;
   }xge;
' Diff.html

Если я вас правильно понял, вы хотите, чтобы все имена файлов типа File-num , заключенные в теги th> и / th> в файле, были заменены 4-й строкой только что выбранного файла. .

0
28.01.2020, 02:25

Теги

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