linux - 使用 AWK 添加选项卡时出现问题

标签 linux awk sed apache-pig bigdata

示例日志

Location        Number  Status  Comment
Delhi           919xxx  Processed       Test File 1
Mumbai          918xxx  Got Stucked     Test File 123

我尝试使用 AWK状态之后添加一个制表符空格,但出现错误。

示例查询

awk '{$3 = $3 "\t"; print}' z

获取输出

Location Number Status   Comment
Delhi 919xxx Processed   Test File 1
Mumbai 918xxx **Got**        **Stucked** Test File 123

由于它将“Got Stucked”作为多个字段,请提出建议。

最佳答案

如果您只想在标题文本 Status 后添加一个选项卡以使其看起来更好,请仅对第一条记录使用 sub:

$ awk 'NR==1 {sub(/Status/,"Status\t")} 1' file
Location        Number  Status              Comment
Delhi           919xxx  Processed           Test File 1
Mumbai          918xxx  Got Stucked         Test File 123

这样 awk 就不会重建记录并用 OFS 等替换 FS

关于linux - 使用 AWK 添加选项卡时出现问题,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/40610678/

相关文章:

c++ - 输入/输出管道

awk - 如何检查 GNU awk 协进程是否打开,或者在不写入的情况下强制打开它?

bash 脚本 : execute a command and pass its output to awk

linux - 将行传递给函数 - 使用 sed 逐行覆盖 - BASH

java - TCP如何在Java中发送/接收实时大数据包?

c - 为什么我的 read() 系统调用返回 -1?

string - 如何从文件中删除包含特定字符串的行?

bash - 使用 shell 脚本替换文件中两个特定脚本之间的字符串

python - 使用python在Linux中分配特定大小的文件

awk 多个分隔符并打印多列