Зачем вообще использовать read
, если у вас есть awk
.
Если это ввод (добавляется пробел перед последним :
)
var1=""name" : "John", "name" : "Ron", "name" : "Mary""
Вы можете сделать это:
echo $var1 | awk -F: '{print "Hello" $2}' RS=,
Hello John
Hello Ron
Hello Mary
Это устанавливает селектор записи на ,
и разделитель поля на :
, а затем печатает каждую запись с hello
перед ней.
Если данные на другомрука это:
var1='"name" : "John", "name" : "Ron", "name" : "Mary"'
echo $var1
"name" : "John", "name" : "Ron", "name" : "Mary"
Тогда вы должны сделать:
echo $var1 | awk -F: '{split($2,a,"\"");print "Hello",a[2]}' RS=,
Hello John
Hello Ron
Hello Mary