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

如何编写Bash脚本将文件单行数值作为参数传入现有脚本?

解决方法:将文件中单列数值作为脚本参数传入

以下是几种简单可行的实现方式:

  • 使用xargs(最简洁的单行命令)
    xargs可以自动将文件中的每行内容转换为空格分隔的参数,直接传递给目标脚本:

    xargs script_name < x.txt
    

    它会自动忽略文件中的空行,刚好适配你单列数值的文件格式。

  • 使用命令替换转换换行符
    通过tr或sed把文件里的换行符替换成空格,再通过命令替换传递给脚本:

    # 用tr替换换行为空格
    script_name $(tr '\n' ' ' < x.txt)
    # 或者用sed处理(可同时清理多余空格)
    script_name $(sed ':a;N;$!ba;s/\n/ /g' x.txt)
    
  • 使用Bash数组(更严谨的脚本方式)
    如果需要在脚本中做额外处理,可先把文件内容读入数组,再传递所有元素:

    #!/bin/bash
    # 读取文件每行内容到数组,忽略换行符
    mapfile -t num_list < x.txt
    # 将数组所有元素作为独立参数传入脚本
    script_name "${num_list[@]}"
    

    这种方式能避免特殊字符(比如数值中意外出现空格)导致的参数拆分错误,兼容性更强。

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

相关产品推荐
方舟 Agent Plan

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

最近更新时间:2026.08.15 14:45:38