хорошо, вот что у меня получилось
#!/bin/bash
fname=$1
sed 's/\r$//' "$fname" |\
grep -v -- "-->" |\
grep -v "^$" |\
grep -E -v "^[0-9]+$" |\
sed 's/WEBVTT//' |\
tr '\n' ' ' |\
tr -s ' ' |\
tr -d '\t' |\
sed 's/\\/\\\\/g' |\
sed 's/"/\\"/g'
Спасибо @steeldriver за исправление для новых строк Windows.
Я бы не стал использовать это в продакшене, так как он немного слабоват, например, он пропускает строки текста типа «ты -> мой друг» и, возможно, несколько других случаев, но для моих целей этого должно быть достаточно ( отправка в solr для поиска)
Я понимаю, что это довольно неэффективно. Буду признателен за советы по этому поводу.
while ! ssh user@host.example.com true; do
sleep 5
done; echo "Host is back up at $(date)!"
Другим вариантом может быть использование until
.
until ssh me@device.local; do
sleep 5
done
Если вы делаете это неоднократно для нескольких хостов, поместите это в функцию в вашем ~/.bashrc
.
repeat()
{
read -p "Enter the hostname or IP of your server :" servername
until ssh $servername; do
sleep 5
done
}