我有以下格式的数据:
16 SQL*Plus vilconv1 dox-conv2
16 TOAD background query session Disha WORKGROUP\AD
Run Code Online (Sandbox Code Playgroud)
现在我想按列获取数据,我使用以下命令
awk '{print $1,$2}'
Run Code Online (Sandbox Code Playgroud)
但由于第 2 列有空格,它给了我以下输出:
16 SQL*Plus
16 TOAD
Run Code Online (Sandbox Code Playgroud)
而我想要的是:
16 SQL*Plus
16 TOAD background query session
Run Code Online (Sandbox Code Playgroud)
小智 2
如果列由制表符分隔,您可以指定制表符作为字段分隔符。这将阻止 awk 将空格视为单独列的默认行为。
cat <data file> | awk -F"\t" '{print $1, $2}'
root@ubuntu32:/tmp# cat testtext | awk -F"\t" '{print $1, $2}'
16 SQL*Plus
16 TOAD background query session
Run Code Online (Sandbox Code Playgroud)