在awk之前混淆反斜杠,这是什么意思?

时间:2015-01-28 09:09:01

标签: bash hadoop awk gawk

#!/usr/bin/env bash
for year in all/*
do
  echo -ne `basename $year .gz`"\t"
  gunzip -c $year | \ awk '{ temp = substr($0, 88, 5) + 0;
      q = substr($0, 93, 1);
      if (temp !=9999 && q ~ /[01459]/ && temp > max) max = temp }
    END { print max }'
done

我对这个用于阅读我在Hadoop书中找到的文件的Awk脚本有一点疑问。在第5行(以gunzip开头的那个)中,在|之后,在awk之前反斜杠\的目的是什么?

1 个答案:

答案 0 :(得分:1)

书中包含拼写错误,或者剧本未完全转录。反斜杠可以选择用于换行:

echo "moo" | \
wc -l

相当于

echo "moo" | wc -l

但在这种特殊情况下,反斜杠在管道之后是完全可选的,所以你不妨写一下

echo "moo" |
wc -l

无论如何,你在问题中使用脚本的方式,反斜杠是错误的。