Awk 在向表中添加新列时,我得到了一个新行

Awk 在向表中添加新列时,我得到了一个新行,awk,sed,add,Awk,Sed,Add,我尝试了多种方法向表中添加新列,但在使用它编写的代码根据某些值添加R或F时,它会不断使用字符串添加新行或新行,而不是新列 awk -F'\t' '{if ($9 > $15) print $0,"F" ; else if ($9< $15) print $0,"R";}' file 在这个阶段,我很确定文件有问题,特别是当我试图根据最后一列进行排序时,它给了我一些问题,这不起作用,所以我不得不移动它。。 不管怎样,你以前见过这个问题吗?有没有办法对表格重新编码?只是一个以制表符分

我尝试了多种方法向表中添加新列,但在使用它编写的代码根据某些值添加R或F时,它会不断使用字符串添加新行或新行,而不是新列

 awk -F'\t' '{if ($9 > $15) print $0,"F" ; else if ($9< $15) print $0,"R";}' file
在这个阶段,我很确定文件有问题,特别是当我试图根据最后一列进行排序时,它给了我一些问题,这不起作用,所以我不得不移动它。。
不管怎样,你以前见过这个问题吗?有没有办法对表格重新编码?只是一个以制表符分隔的大表,所以我不确定发生了什么。

您可能在Windows上创建了文件,因此在每行末尾都有伪控件Ms。运行
cat-v
查看它们,运行
dos2unix
或类似程序删除它们。谢谢。是的,我知道^M在最后一列的末尾。我会检查并尝试转换它。希望它能起作用。欢迎来到之前经历过同样问题的数千人的行列:-)。dos2unix由于某种原因不起作用,但是
sed-e“s/^M/”
工作得非常完美(
sed-e的s/$/'
删除了^M,但也删除了最后一列的最后一个字符。)无论如何,现在我可以安心工作了哈。再次感谢您的欢迎,顺便说一句,不要使用您发布的任何awk脚本,因为它们是错误的方式。例如,您的第一个文件应该是
awk'BEGIN{FS=OFS=“\t”}{print$0,($9>$15?“F”:“R”)}文件
(假设在$9==15时,您实际上并不打算不添加任何内容)。
awk '$0=$0" 1"' file
awk ' $NF=$NF" 1" ' file