我正在使用awk执行以下脚本,它以不同的顺序打印文件的列。
#!/bin/sh
cat test.txt | awk '{ if ($3 != "") {print $3 " " $1 " " $2} else if (($3 == "") && ($2 != "")) {print $2 " " $1 } }' > test_proc.txt
我对产量的期望来自:打印$ 3" " $ 1" " $ 2
$3 $1 $2
$3 $1 $2
实际打印的是什么:打印$ 3" " $ 1" " $ 2
$3
$1 $2
$3
$1 $2
同样,我对输出的期望来自:打印$ 2" " $ 1
$2 $1
$2 $1
实际打印的内容是:打印$ 2" " $ 1
$2
$1
$2
$1
以下是test.txt中的一些行:
rd-abc 0000002000000000
0x47FF93A0 rd-abc DFFDC08C02020000
为什么我之间会收到意外的回车?
答案 0 :(得分:0)
使用以下命令从Input_file中删除回车:
tr -d '\r' < Input_file
OR
awk '{gsub(/\r/,"")} 1' Input_file