如何在UNIX中的文件中将尾部减号带到数据的开头?
输入
ABC 12-
XYZ 10
预期输出
ABC -12
XYZ 10
答案 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