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

如何使用dialog --checklist命令展示文本文件的全部内容

实现方法

dialog 的--checklist参数要求传入的条目格式为[标签 展示文本 默认选中状态],你可以通过读取文本文件逐行构造参数来实现需求,以下是两种常用实现方案:

方案1:bash脚本实现(兼容含特殊字符的行内容)

假设你的文本文件命名为data.txt,创建以下脚本运行即可:

#!/bin/bash
# 存储checklist条目的数组
checklist_items=()
count=1

# 逐行读取文件内容
while IFS= read -r line_content; do
    # 跳过空行
    [[ -z "$line_content" ]] && continue
    # 追加条目:序号 行内容 默认未选中(off)
    checklist_items+=("$count" "$line_content" "off")
    ((count++))
done < "data.txt"

# 调用dialog展示checklist,选中结果会写入selected.txt文件
dialog --checklist "可选内容列表" 20 70 15 "${checklist_items[@]}" 2> selected.txt

运行后dialog界面就会按你期望的格式展示所有行,每一行前默认显示未选中的[ ]标识。

方案2:一行命令快速实现(适合行内容无特殊字符的场景)

dialog --checklist "可选内容列表" 20 70 15 $(awk 'NF{print NR,$0,"off"}' data.txt) 2> selected.txt

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

相关产品推荐
方舟 Agent Plan

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

最近更新时间:2026.09.27 01:36:07