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

如何使用sed替代cut打印CSV指定行的第2、3列并插入连接内容

实现方案

直接用sed的分组替换能力即可实现需求,无需额外管道调用其他工具,可直接替换原有逻辑的命令如下:

sed -n "$2 { s/^[^;]*;\([^;]*\);\([^;]*\);.*/\1 is \2/p }" players.csv

命令说明

  • -n 参数关闭sed默认的行输出逻辑,仅打印符合条件的内容
  • "$2 {}" 限定仅对第二个参数传入的行号对应的行执行大括号内的操作
  • 替换规则s/匹配规则/替换内容/p的逻辑:
    • 用[^;]*匹配单个列的内容(所有非分隔符;的字符)
    • 用\(和\)对第二列、第三列分别做分组捕获
    • 替换时用\1调用第二列的捕获内容,\2调用第三列的捕获内容,中间插入要求的is字符串
    • 末尾的p表示替换完成后打印该行内容

如果希望保留原有管道调用的结构,替换cut部分的sed命令如下:

sed -n "$2p" players.csv | sed 's/^[^;]*;\([^;]*\);\([^;]*\);.*/\1 is \2/'

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

相关产品推荐
方舟 Agent Plan

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

最近更新时间:2026.09.26 12:36:04