shell awk -F 中分隔符转义'\'

从hdfs地址(例如: hdfs:/data/model/DNN/20210325/10/)读取日期(例如:20210325)。

awk -F '\\/' '{print $(NF-2)}' 和 awk -F '\/' '{print $(NF-2)}' 有什么区别?两个输出结果一致,纠结在于为什么要用两个反斜线转义?

  1. 被单引号括起来的字符都是普通字符,就算特殊字符也不再有特殊含义
  2. 被双引号括起来的字符中,"$"、"\"和反引号是拥有特殊含义的

所以你用了单引号,所以反斜杠并没有转义的意义。

所以两个表达式的分割字符都是斜杠和反斜杠,输出结果就是一样的。