awk拆分字段格式

时间:2011-02-03 10:59:39

标签: awk awk-formatting

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 个答案:

答案 0 :(得分:3)

你可以使用awk的toupper(a[1])

答案 1 :(得分:0)

如果使用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]}}'