bash - awk 前的令人困惑的反斜杠,这是什么意思?

标签 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 之前的反斜杠 \ 的用途是什么?

最佳答案

这本书可能包含错字,或者脚本未完全转录。可以选择将反斜杠用于换行:

echo "moo" | \
wc -l

相当于

echo "moo" | wc -l

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

echo "moo" |
wc -l

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

关于bash - awk 前的令人困惑的反斜杠,这是什么意思?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/28188316/

相关文章:

bash - 递归查找文件类型列表

Bash:Scriptception,在脚本中创建脚本

linux - 将 perl 结果输出到文件中

java - 在mahout上运行Wikipedia Bayes示例时出现OutOfMemory错误

java - 错误 : JAVA_HOME is not set and could not be found after hadoop installation

bash - 使用 bash reshape 表格并使用 NA(或 -999)完成空白

bash - 子外壳中的源无法按预期工作

任意数量的数字的正则表达式,包括点后跟空格,然后是左括号?

bash - AWK/巴什 : how to match a field in one file from a field in another?

java - 使用水槽反序列化Json文件并下沉到HDFS