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

Linux系统如何提取文本文件每一行指定索引位置的字符

问题解答

你说的方案是可行的,但需要调整两个细节才能得到预期结果:

  • 字符串索引起点修正:Bash 原生的字符串切片从 0 开始计数,所以提取第3个字符的写法应该是 ${var:2:1},你原先写的 ${var:3:1} 会提取到第4个字符,和预期输出不符。
  • 逐行读取方式优化:不推荐用for循环直接读取文件行,遇到带空格、换行符、特殊字符的行时很容易出现拆分异常,更稳妥的方案是用while搭配read命令读取。

可用的参考代码

假设你的待处理文本文件名为input.txt,可以直接运行以下代码得到目标结果:

while IFS= read -r line; do
    echo "${line:2:1}"
done < input.txt

用你给出的示例输入测试,运行后输出结果完全匹配预期:

l
r
w

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

相关产品推荐
方舟 Agent Plan

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

最近更新时间:2026.10.01 10:45:00