Pull to refresh

Comments 12

Вариант 3 — Использовать here-файлы (те, которые вводятся через <<).

Вы его просто забыли или он по каким-то конкретным причинам не подошёл?
Да, действительно это тоже вариант, такой синтаксис я встречал однажды, но если честно ни разу не применял) Этот вариант гораздо лучше первого, но всеже считаю второй читабельнее, но это уже вопрос вкуса)

PRG=$(cat <<END
BEGIN{
print «from awk program»
}
END
)
Универсальный способ — использовать многострочный one-liner:

awk 'awk-code' files


> Ответ напрашивается сам собой — используем awk
Можно, но реализация сложная. Лучше использовать sed:

sed -e '0,/^#!.*awk/d' $0


Если все-таки хочется awk, вот пример чуть попроще:

awk '/^#!.*awk/ { body = 1 } body' $0
В качестве маркера — привычный всем шебанг, что тоже радует глаз
Да согласен, лоадер выходит еще проще реализовать)
Интересно возможно ли седом реализовать аналог getAwkProgram (та что в репозитории)?
Так ведь я и привел вариант sed. А так его можно использовать напрямую:

sed -e '0,/^#!.*awk/d' $0 | awk -f - inputfile


Аналогично и пример с awk
Ди и несовсем понял про универсальный способ мультилайн однострочников, можно поподробнее?
Вы его используете в своей функции getAwkProgram

Вот тот же пример, но многострочный и расписанный подробно:
awk '
    BEGIN {
        body = 0;
    }

    /^#!.*awk/ {
        body = 1;
    }

    body {
        print;
    }
' inputfile
Теперь понял что Вы имели ввиду) Но это то что я описал в первом варианте, к сожалению этот метод для программ имеющих разнородные кавычки, по описанным в статье причинам, становится непригодным.
Спасибо, давно искал что-нибудь подобное. Здорово то, что на forvo есть достаточно редкие языки, произношение которых просто не найти.

Насчет анки и других подобных программ весьма интересно. Правда лучше бы, чтобы это был плагин к анки. Ну или, что еще лучше, возможность скачать слова, так как не всегда есть интернет (например если учить на телефоне).
Рад что статья оказалось полезной, насчет возможности закачки, ее можно добавить таким образом:

найти в скрипте эту строку
mpg123 -q $URL
и заменить (или дополнить) ее этой строкой
curl -o "$WORD.mp3" $URL

Таким образом будет скачиваться mp3 файл с названием того слова которое давалось в поиске.
Кстати, вроде Anki позволяет в словари добавлять аудиозаписи, так что таким образом можно пополнять и произношения. Насчет плагинов для Anki — надо посмотреть, возможно ли их написание.
Спасибо за разъяснение :).
Анки действительно отлично работает с аудио. В последнее время только так и учу слова, то есть одновременно со звуком. Иначе произношение не могу усвоить.
Плагины для анки есть, например даже вытягивающий произношение с google translator. Он довольно удобен, но качество синтезированной речи хромает. И, разумеется, что самое главное, в google translate представлены только популярные языки. А это большой минус, если нужен редкий язык.
По-видимому раньше был плагин работающий с forvo, но сейчас точно не работает. Думаю что ваш вариант намного лучше плагина.
Sign up to leave a comment.

Articles