Find centralized, trusted content and collaborate around the technologies you use most.
Teams
Q&A for work
Connect and share knowledge within a single location that is structured and easy to search.
我在 bash 脚本中使用 awk 并执行以下操作:
awk -F, -v result_file=$2'{ print $2 $1 > result_file }' $data_file
在输出文件中,每行末尾都有一个 control-M '^M' 字符。怎么了?
记录分隔符自动设置为当前系统的行尾,在\n基于 Unix 的系统上为 LF ( \r\n),在 MS 系统上为 CR-LF ( ),\r在 Mac OS X 之前的 Mac OS 上为 CR ( )。所以要工作在 MS 系统上记录的文件上,适当地设置记录分隔符,在您的情况下:
\n
\r\n
\r
awk -v RS='\r\n' ...