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

如何用awk为文件指定行添加前后缀并删除其他行?

解决awk指定行添加前后缀并保留该行的问题

嗨,其实你离正确答案只差一步啦!不需要用到BEGIN或者END块,直接在print语句里把前缀、当前行内容和后缀拼接起来就可以了。

正确命令

awk 'NR==3 {print "hello " $0 " goodbye"}' your_file.txt

解释一下:

  • NR==3:这个条件会精准匹配文件的第3行,只有这一行会被处理,其他行因为不满足条件,awk会自动跳过(相当于实现了删除其余行的需求)。
  • print "hello " $0 " goodbye":$0代表当前行的完整内容,我们直接把前缀字符串"hello "、$0、后缀字符串" goodbye"按顺序拼接后输出,正好得到你想要的格式。

测试示例

假设你的文件内容是:

  1. foo
  2. foo
  3. foo
  4. foo
  5. foo

执行上面的命令后,输出结果就是:

hello 3. foo goodbye

顺便说下,BEGIN块是awk在开始处理文件之前执行的代码,END块是处理完所有行之后执行的,这两个块都不适合用来处理特定行的内容,所以这里完全用不上哦~

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

相关产品推荐
方舟 Agent Plan

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

最近更新时间:2026.05.14 07:50:58