awk: 1: unexpected character 0xd1
Мне надо далее будет сформировать текстовый файл, используя эти переменные.
Мои кросс работает, есть ли более красивое решение?
$ read author title <<< $(awk '{split($x,c,"-"); print c[1], c[2]; }' <<< "Jay-I am the ruler of clit")
$ echo author=\"$author\" title=\"$title\"
author="Jay" title="I am the ruler of clit"
«команда <<< строка» - это то-же самое, что «echo строка | команда», но второй вариант не работает правильно, когда команда - это read. Чтобы read действительно сохранил строки (а не съел stdin в пустоту) в переменных он должен стоять в начале конвейера.
>Мне надо далее будет сформировать текстовый файл, используя эти переменные.
Так, стоп. Если тебе нужен текстовый файл, то почему не сформировать его средствами awk? awk крут. Я авком ресурсы игр распаковывал, а тут какой-то сраный текстовый файл сделать.