在awk之前用令人困惑的反斜杠,这是什么意思?

nzk0hqpo  于 2021-06-04  发布在  Hadoop
关注(0)|答案(1)|浏览(420)

# !/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

我对这个awk脚本有点怀疑,因为它不能读取我在hadoop书中找到的一个文件。在第5行(以 gunzip ),在 | ,反斜杠的作用是什么 \ 在awk之前?

x0fgdtte

x0fgdtte1#

要么书中有打字错误,要么剧本没有完全抄写。反斜杠可用于换行:

echo "moo" | \
wc -l

相当于

echo "moo" | wc -l

但在这种特殊情况下,管道后面的反斜杠是完全可选的,因此您不妨编写

echo "moo" |
wc -l

在任何情况下,你在你的问题脚本的方式,反斜杠是错误的。

相关问题