gpt4 book ai didi

linux - bash:一次从字符串中读取一个字符

转载 作者:塔克拉玛干 更新时间:2023-11-02 23:56:26 25 4
gpt4 key购买 nike

我有一个脚本可以一次读取一个文件的一个字符这是我使用的脚本

INPUT=/path/
while IFS= read -r -n1 char; do
echo $char
done < "$INPUT"

它工作正常只是我不知道如何将每个字符存储到一个变量中我正在寻找类似的东西

N$X=$char

其中 X=计数或字符,$char=字符

如有任何帮助,我们将不胜感激。谢谢!

最佳答案

一般情况下,在 中有 N1N2 等变量...并希望像 N$ii 那样访问它们是另一个变量非常糟糕。解决这个问题的方法在于数组。以下是我如何使用数组来解决您的问题:

n=()
i=0
while read -r -n1 n[i]; do
echo "Character $i is ${n[i]}"
((++i))
done < "$INPUT"

此时,您的字符在数组 n 中(好吧,不是全部)。您可以使用

访问字符 k+1
${n[k]}

(记住数组索引从 0 开始)。


另一种可能性是将所有内容都放入一个字符串中,就这么简单:

string=$( < "$INPUT" )

并且您可以使用

访问字符 k+1
${n:k:1}

(取从索引k开始的长度为1的子串)。循环所有字符可以这样完成:

for ((k=0;k<${#string};++k)); do
echo "Character $k is '${string:k:1}'"
done

关于linux - bash:一次从字符串中读取一个字符,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/17393675/

25 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com