awk分割字段格式

awk分割字段格式,awk,Awk,嗨, $2是所有小写文本。我已将其拆分,并希望以大写形式输出[1] 我该怎么做 Tom您可以使用awk的toupper(a[1])如果使用awk的变量传递,您可以避免复杂和难以读取的引用。您还可以使用输出字段分隔符。另外,你有额外的卷括号,你不需要 awk '{split($2,a,"-")}; {if ($1=="aa") {print "'$var'/"$1"/"a[1]"/"$2" '$var'/bb/"a[1]} else {print "'$var'/"$1"/

嗨, $2是所有小写文本。我已将其拆分,并希望以大写形式输出[1]

我该怎么做


Tom

您可以使用awk的
toupper(a[1])
如果使用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]}}'

您已经在Stack Overflow中呆了五个月,问了六个问题,从未接受过答案,从未投票,也从未回答过任何问题。请看下面我的评论。请允许我欢迎您来到StackOverflow,并提醒我们在这里通常会做的三件事:1)当您收到帮助时,尝试给予帮助,回答您专业领域的问题2)3)当您看到好的问答时,请投票支持,因为系统的可信度是基于用户通过分享知识而获得的声誉。也要记住接受更好地解决你的问题的答案,如果有的话,好悲伤。Sorreee。嗯。。。。你说得对。我太想当然了。可以想象,我可以帮助别人,所以我至少会考虑一下。当我看到一个好的答案时,我可以投票(……但是等等,我没有足够的声誉来这么做!)。当然,我也可以投票回答我提出的问题。至少,我同意。汤姆:谢谢你,丹尼斯——你的回答是我第一次在这些论坛上打电话。顺便说一句,条件$1=aa实际上失败了。我猜这是因为输入的模糊性$另一方面,1~/^aa/似乎发挥了预期的作用。汤姆
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]}}'