awk没有打印整条线

时间:2018-02-02 08:44:49

标签: awk sh

我正在使用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

为什么我之间会收到意外的回车?

1 个答案:

答案 0 :(得分:0)

使用以下命令从Input_file中删除回车:

tr -d '\r' < Input_file

OR

awk '{gsub(/\r/,"")} 1' Input_file