You need to enable JavaScript to run this app.
优惠活动
大模型
产品
解决方案
定价
更多

如何使用awk或sed为文本每行前四个字段添加引号?

这事儿简单,用awk或者sed都能快速实现,我给你两个方案,你看着选:

awk 解决方案

awk 默认按空格分割字段,咱们直接用格式化输出给前四个字段套上双引号,最后一个字段保持原样就行:

awk '{printf "\"%s\" \"%s\" \"%s\" \"%s\" %s\n", $1, $2, $3, $4, $5}' your_input.txt

解释

  • printf 用来精确控制输出格式,这里指定了前四个字段用 "字段内容" 的形式输出,最后一个字段直接输出原始值
  • $1 到 $5 对应每一行的第1到第5个字段,完美匹配你的输入结构

sed 解决方案

用sed的正则替换功能,捕获行内的前四个非空格字段,给它们加上双引号:

sed 's/^\(\S\+\) \(\S\+\) \(\S\+\) \(\S\+\)/"\1" "\2" "\3" "\4"/' your_input.txt

解释

  • ^\(\S\+\) 匹配行开头的第一个非空格字段,用括号捕获为分组1,后面三个同理捕获分组2-4
  • 替换部分把这四个分组分别用双引号包裹,保留原本的空格分隔,最后一个字段不受影响

把命令里的 your_input.txt 换成你实际的文件名就可以运行啦,两种方法都能得到你要的输出效果。

内容的提问来源于stack exchange,提问作者Amit

相关产品推荐
方舟 Agent Plan

超全模态模型 × Harness 升级,最新支持 Deepseek-V4.1-Flash、GLM-5.3 系列、Doubao-Seedream-5.0-pro、Kimi-K3 (部分), 限时 9.9 元起

最近更新时间:2026.05.09 13:32:30