当 awk 命令中其中之一是空格时,如何指定两个字段分隔符?我认为这可以通过使用 awk 中嵌入的 if-else 条件来完成,但是我不确定确切的命令。
示例文件如下:
cat test.txt
Swapnil Engineer 20000
Avinash:Doctor:30000
Dattu GovntJob 50000
Amol:Master:10000
我想打印第二列($2)。预期输出为:
Engineer
Doctor
GovntJob
Master
当我尝试将空格和冒号都用作字段分隔符时,它失败并出现语法错误:
awk -F[ :] '{print $2}' test.txt
awk: cmd. line:1: :]
awk: cmd. line:1: ^ syntax error
我们如何使用两个字段分隔符并利用 awk 功能?
答案1
你走在正确的轨道上!
只需添加周围缺少的引号[ :]
:
awk -F'[ :]' '{print $2}' test.txt
Engineer
Doctor
GovntJob
Master