разобрать HTML в Bash (когда grep просто недостаточно)

Я создал инстанс Amazon EC2 и попробовал то, что вы хотите сделать. Он работал без каких-либо ошибок цикла.

Вот шаги, которые я предпринял:

dd if=/dev/zero of=test2 bs=1M count 512  : create 512MB blank file

sudo cryptsetup luksFormat test2      : asks for confirmation and passphrase

sudo mkdir /mnt/tmp                   : create a mount point

sudo chown -R ubuntu:ubuntu /mnt/tmp  : make sure I can write to mount point

sudo cryptsetup luksOpen test2  somename  : open luks container with a name

sudo mkfs.ext2 /dev/mapper/somename : create a filesystem in the luks container

sudo mount /dev/mapper/somename /mnt/tmp : mount containter, so it can be used

touch /mnt/tmp/MYTESTFILE   : create arbitrary file in container

echo "Some data to be double sure it works" > /mnt/tmp/MYTESTFILE : add content
________________________________________________________
Reboot the VPS, then after reboot log back in and check:
________________________________________________________

sudo cryptsetup luksOpen test2  somename   : open new container again

sudo mount /dev/mapper/somename /mnt/tmp   : mount it

ls /mnt/tmp                               : should see MYTESTFILE here

cat /mn/tmp/MYTESTFILE                    : show the data put in the file earlier
1
21.02.2016, 12:33
2 ответа

Я бы отфильтровал файл с помощью tidy , чтобы поместить каждый тег верхнего уровня в отдельную строку, и использовал бы что-то более подходящее для этого типа сценариев (например, Perl) для обработка разметки. sed наиболее полезен, когда изменения очень простые.

Например, фрагмент с этой страницы (после фильтрации) будет выглядеть следующим образом (с помощью tidy -wrap 4096 , чтобы уменьшить количество переносимых строк):

<body class="question-page new-topbar">
<noscript>
<div id="noscript-padding"></div>
</noscript>
<div id="notify-container"></div>
<div id="overlay-header"></div>
<div id="custom-header"></div>
<div class="topbar">
<div class="topbar-wrapper">
<div class="js-topbar-dialog-corral">
<div class="topbar-dialog siteSwitcher-dialog dno">
<div class="header">
<h3><a href="//unix.stackexchange.com">current community</a></h3>
</div>
<div class="modal-content current-site-container">
<ul class="current-site">

"a" теги и т. д. будут встроенными, но со структурой страницы будет проще работать.

Я "загрузил" страницу, используя lynx-источник . Однако вы можете использовать различные инструменты: для этой цели чаще используются wget и curl .

2
27.01.2020, 23:26

Попробуйте pup. т.е. для OSX:

brew install https://raw.githubusercontent.com/EricChiang/pup/master/pup.rb

Вы можете использовать CSS3 селектор и экстрактор для получения значения из атрибутов href.

1
27.01.2020, 23:26

Теги

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