【问题标题】:How to escape a "." in awk?如何逃脱“。”在awk?
【发布时间】:2013-03-11 09:25:42
【问题描述】:

由于某种原因,反斜杠不起作用。这适用于带有分隔数据的文件。

现在我的表达是:

output=$(awk -F '|''BEGIN {count=0;} $2==Smith {count++; print count $1}' customer)

echo $output

给我

11001 21002 31003

我希望输出看起来像:

1. 1001
2. 1002
3. 1003

这是我的尝试..

awk -F '|''BEGIN {count=0;} $2==Smith {count++; print count, '\.', $1}' customer

【问题讨论】:

  • 换行符在$output 中,但是当您不引用$output 时,shell 会将其删除。使用echo "$output"
  • 你试过print count, \'.\', $1

标签: linux bash awk escaping


【解决方案1】:

用双引号打印语句:

awk -F '|' 'BEGIN {count=0;} $2==Smith {count++; print count". "$1}' customer

【讨论】:

  • 不需要换行符。 print 为你插入。
  • 啊,没错。我试图保存到变量中并回显它。非常感谢。
猜你喜欢
  • 2017-10-31
  • 2016-02-11
  • 2019-09-21
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 2019-03-06
相关资源
最近更新 更多