awk print在行尾添加了一个control-m字符

时间:2012-10-25 13:40:24

标签: unix awk

我在bash脚本中使用awk并执行以下操作:

awk -F, -v result_file=$2'{
print $2 $1 > result_file
}' $data_file

在输出文件中,我在每行的末尾得到一个控制-M'^ M'字符。有什么问题?

1 个答案:

答案 0 :(得分:16)

记录分隔符自动设置为当前系统的行尾,基于Unix的系统上的LF(\n),MS系统上的CR-LF(\r\n)和CR(在Mac OS X之前的Mac OS上的\r)。因此,要处理记录在MS系统上的文件,请在适当的情况下设置记录分隔符:

awk -v RS='\r\n' ...