Формат разделенного поля awk
awk '{split($2,a,"-")};
{if ($1=="aa") {print "'$var'/"$1"/"a[1]"/"$2" '$var'/bb/"a[1]}
else {print "'$var'/"$1"/"a[1]"/"$2" '$var'/aa/"a[1]}}'
привет, $2 - это все строчные буквы Я разделил его и хотел бы вывести [1] в верхнем регистре.
Как я могу это сделать?
Том
2 ответа
Решение
Вы можете избежать сложного и трудно читаемого цитирования, если используете передачу переменных AWK. Вы также можете использовать разделитель полей вывода. Кроме того, у вас есть дополнительные фигурные скобки, которые вам не нужны.
awk -v "var=$var" 'BEGIN{OFS="/"}
{split($2,a,"-"); a[1]=toupper(a[1])
if ($1=="aa") {print var, $1, a[1], $2 " " var, "bb", a[1]}
else {print var, $1, a[1], $2 " " var, "aa", a[1]}}'