在UNIX中将excel数据旋转尾部减去前面

时间:2016-09-30 11:19:03

标签: unix

如何在UNIX中的文件中将尾部减号带到数据的开头?

输入

ABC 12-
XYZ 10

预期输出

ABC -12
XYZ 10

1 个答案:

答案 0 :(得分:0)

你可以尝试这样的想法;

awk '{for (i=1; i<=NF; i++) 
   if (substr($i,length($i),length($i)) == "-") 
        $i = "-"substr($i,1,length($i)-1); 
print }' yourFile

实施例

user@host:/tmp$ cat t1 | column -t
ABC  12-   XYZ  -10   XYZ   22-
XYZ  -10   XYZ  -1-0  XYZ   -1-0  XYZ  -1-0
XYZ  -1-0  10-  ABC   -ABC  ABC-

user@host:/tmp$ awk '{for (i=1; i<=NF; i++) if (substr($i,length($i),length($i)) == "-") $i = "-"substr($i,1,length($i)-1); print }' t1 | column -t
ABC  -12   XYZ  -10   XYZ   -22
XYZ  -10   XYZ  -1-0  XYZ   -1-0  XYZ  -1-0
XYZ  -1-0  -10  ABC   -ABC  -ABC