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

需求:编写Bash脚本实现带序号输出文件内容

实现读取file.txt并按指定格式输出的Bash脚本

嘿,这事儿好办,我给你写个简洁的Bash脚本就能搞定这个格式转换需求:

#!/bin/bash

# 读取file.txt的内容,按空格拆分到数组中
read -ra hosts < file.txt

# 初始化输出内容,先拼接开头标记
output="--START--"

# 遍历数组,为每个主机生成对应的optN格式
for index in "${!hosts[@]}"; do
    opt_number=$((index + 1))
    output+=" opt${opt_number}:${hosts[$index]}"
done

# 拼接结尾标记
output+=" --END--"

# 输出最终结果
echo "$output"

脚本逻辑说明

  • 用read -ra命令读取file.txt的内容,自动按空格分割成数组hosts,这样每个主机名都是数组里的独立元素
  • 遍历数组的索引(从0开始),把索引加1就是opt后面的数字,逐个拼接成optN:hostX的格式
  • 最后把开头的--START--和结尾的--END--与中间内容拼接,输出最终结果

使用方法

  1. 把上面的代码保存为format_hosts.sh文件
  2. 给脚本添加执行权限:chmod +x format_hosts.sh
  3. 运行脚本:./format_hosts.sh

这样就能得到你想要的输出:--START-- opt1:host1a opt2:host2b opt3:host3c opt4:host4e --END--

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

相关产品推荐
方舟 Agent Plan

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

最近更新时间:2026.05.06 09:12:36