日期:2014-05-16  浏览次数:20484 次

帮写个AWK
将每一行的第一、第三、第四字段重写到另外的文件
异常:
  如果某行字段数大于4,写第1、4、5字段
  如果某行字段数小于4,写第1、2、3字段
现文件以空格或者TAB分割,新文件用|分割

------解决方案--------------------
C/C++ code
awk 'NF>4{print $1"|"$4"|"$5;next;} {print $1"|"$2"|"$3;}' in.txt > out.txt

------解决方案--------------------
awk '{if(NF>4){print $1"|"$4"|"$5} else if(NF>=3){print $1"|"$2"|"$3}}' in >out
------解决方案--------------------
探讨

C/C++ code
awk 'NF>4{print $1"|"$4"|"$5;next;} {print $1"|"$2"|"$3;}' in.txt > out.txt