数值(Numbers)

在 Awk 中,数值可以表示为 十进制整数浮点数。例如:

789
3.141592654
+67
+4.6E3    # 4.6 × 10³ = 4600
-34
-2.1e-2   # -2.1 × 10⁻² = -0.021

注意:Awk 不支持 直接使用十六进制(hex)或八进制(octal)表示数值,但可以使用特定方法以十六进制或八进制格式输出数值,后面会介绍如何实现。


字符串(Strings)

字符串使用 双引号 "" 括起来。例如:

"All work and no play makes Jack a homicidal maniac!"
"1987A1"
"do re mi fa so la ti do"

Awk 还支持 空字符串(null string),表示方式是两个空引号:

""

1. 特殊字符

与 C 语言类似,Awk 允许使用特殊字符(Escape Sequences):

转义字符 功能
\n 换行(Newline)
\t 水平制表符(Tab,默认 8 个空格对齐)
\b 退格(Backspace)
\r 回车(Carriage Return)
\f 换页(Form Feed,用于打印时可能触发新页面)

2. 在字符串中使用 "\

如果需要在字符串中包含 双引号 ",需要用 反斜杠 \ 进行转义:

"This is a \"quoted\" word"

输出:

This is a "quoted" word

如果需要在字符串中包含 反斜杠 \,需要输入两个反斜杠:

"This is a backslash: \\"

输出:

This is a backslash: \

如果 反斜杠 \ 后面跟着未定义的字符(如 \m),Awk 只会将其视为普通字符:

"Example \m"

输出:

Example \m

示例

1. 使用 print 输出特殊字符

BEGIN {
    print "Hello\tWorld!"   # "Hello    World!"
    print "Line 1\nLine 2"  # 换行
    print "Path: C:\\Program Files\\Awk"  # Windows 路径
}

输出:

Hello    World!
Line 1
Line 2
Path: C:\Program Files\Awk

2. 在字符串中嵌入双引号

BEGIN {
    print "He said, \"Awk is powerful!\""
}

输出:

He said, "Awk is powerful!"

总结

  • 数值:支持整数和浮点数,但 不支持 十六进制和八进制输入。
  • 字符串:使用 "" 表示,可包含 特殊字符(如 \n\t
  • 转义字符
    • \":表示双引号 "
    • \\:表示反斜杠 \
    • \n\t\b 等特殊字符可用于格式化输出。

在下一章,你将学习 如何使用字符串和数值进行计算与处理! 🚀

最后修改: 2025年01月30日 星期四 01:12