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

如何在Shell脚本中移除行首的双引号

用Shell脚本处理文本:调整行号并移除变量名的双引号

针对给定的输入文本,要实现行号格式转换并移除变量名外侧的双引号,可以用以下几种Shell工具完成:

方法一:使用sed命令

sed是文本替换的常用工具,这条命令可一步实现需求:

sed -E 's/Line([0-9]+)[ :]+\"([^\"]+)\"=/\1: \2=/' input.txt

命令说明:

  • Line([0-9]+):匹配行首的Line加数字序列,把数字部分捕获为第一个分组
  • [ :]+:匹配LineX后的空格或冒号(兼容多个空格/冒号的情况)
  • \"([^\"]+)\"=:匹配变量名外侧的双引号,把变量名内容捕获为第二个分组
  • \1: \2=:将匹配内容替换为「分组1的数字+冒号空格+分组2的变量名+等号」

如果需要直接修改原文件(覆盖原内容),添加-i参数即可(macOS系统需用sed -i '' -E ...):

sed -i -E 's/Line([0-9]+)[ :]+\"([^\"]+)\"=/\1: \2=/' input.txt

方法二:使用awk命令

awk适合复杂的文本拆分处理,命令如下:

awk '{
    # 移除行首的Line字符串
    sub(/Line/, "", $1)
    # 拆分第一个字段,提取数字部分
    split($1, num_parts, /[ :]/)
    # 移除第二个字段的首尾双引号,拼接输出
    var_name = substr($2, 2, length($2)-2)
    printf "%d: %s=%s\n", num_parts[1], var_name, $3
}' input.txt

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

相关产品推荐
方舟 Agent Plan

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

最近更新时间:2026.08.13 11:35:17