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

如何用awk/sed提取URL值填充name字段并给指定行加前缀

实现方案

你可以用awk一次性完成两个需求,不需要拆分多次处理,脚本如下:

awk '
BEGIN {
    valid = "url:|name:|organisation:"
}
/^url:/ {
    url_val = substr($0, 5)
    print
    next
}
/^name:/ {
    print "name: " url_val
    next
}
{
    print $0 ~ "^(" valid ")" ? $0 : "pass:"$0
}
' 目标文件路径

效果验证

针对你给出的示例输入:

url: urlvalue
name: 
organisation:
word

执行后输出结果完全符合预期:

url: urlvalue
name: urlvalue
organisation:
pass:word

逻辑说明

  1. 首先匹配url:开头的行,提取冒号后的value存储到变量,输出原行后跳过后续判断
  2. 匹配原有空的name:行时,直接输出填充了urlvalue的行,替换原有空值行
  3. 其余行判断是否属于指定前缀的合规行,合规直接输出,不合规自动加pass:前缀

如果需要直接修改原文件,可执行如下命令:

# 用GNU awk直接修改原文件
awk -i inplace '上述脚本逻辑' 目标文件路径

# 兼容所有版本awk的修改方式
awk '上述脚本逻辑' 目标文件路径 > tmp && mv tmp 目标文件路径

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

相关产品推荐
方舟 Agent Plan

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

最近更新时间:2026.09.27 06:36:03