Awk-字段分隔符行为
我有一个文件:Awk-字段分隔符行为,awk,Awk,我有一个文件: CreateSec,explorer.exe,\\WINDOWS\\system32\\verclsid.exe,SUCCESS 我想打印“$2” 示例1 它运行良好: $ awk -F '\\\\\\\\' '{print $2}' file WINDOWS $ awk -F '\\\\'+ '{print $2}' file WINDOWS $ echo "CreateSec,explorer.exe,\\WINDOWS\\system32\\verclsid.exe,
CreateSec,explorer.exe,\\WINDOWS\\system32\\verclsid.exe,SUCCESS
我想打印“$2”
示例1
它运行良好:
$ awk -F '\\\\\\\\' '{print $2}' file
WINDOWS
$ awk -F '\\\\'+ '{print $2}' file
WINDOWS
$ echo "CreateSec,explorer.exe,\\WINDOWS\\system32\\verclsid.exe,SUCCESS" | awk -F '\' '{print $2}'
WINDOWS
----------------------------------------------------------------------------------
$ echo "CreateSec,explorer.exe,\\WINDOWS\\system32\\verclsid.exe,SUCCESS" | awk -F "\\" '{print $2}'
WINDOWS
示例2
它运行良好:
$ awk -F '\\\\\\\\' '{print $2}' file
WINDOWS
$ awk -F '\\\\'+ '{print $2}' file
WINDOWS
$ echo "CreateSec,explorer.exe,\\WINDOWS\\system32\\verclsid.exe,SUCCESS" | awk -F '\' '{print $2}'
WINDOWS
----------------------------------------------------------------------------------
$ echo "CreateSec,explorer.exe,\\WINDOWS\\system32\\verclsid.exe,SUCCESS" | awk -F "\\" '{print $2}'
WINDOWS
示例3
不打印
$ awk -F "\\\\\\\\" '{print $2}' file
.
示例4
因此,它运行良好:
$ awk -F '\\\\\\\\' '{print $2}' file
WINDOWS
$ awk -F '\\\\'+ '{print $2}' file
WINDOWS
$ echo "CreateSec,explorer.exe,\\WINDOWS\\system32\\verclsid.exe,SUCCESS" | awk -F '\' '{print $2}'
WINDOWS
----------------------------------------------------------------------------------
$ echo "CreateSec,explorer.exe,\\WINDOWS\\system32\\verclsid.exe,SUCCESS" | awk -F "\\" '{print $2}'
WINDOWS
问题:
awk-F'.
b) awk-F”
感谢您的解释。关于(3)-四个反斜杠是区别:
- 在单引号内,没有元字符,因此shell向
传递8个反斜杠李>awk
- 在双引号内,反斜杠转义以下字符,因此shell将4个反斜杠传递给
awk
awk-F“{print$2}”文件