如何获取shell中字符串中的每个字符?

时间:2012-12-14 03:51:28

标签: shell

例如

我有一个字符串:

ST = 'ABCD'

在C中

我可以使用st [0],st [1] ..来获取索引处的char。 但是我不知道如何在shell中做到这一点。

我希望得到字符串st中的每个字符,如何在shell中获取它?

1 个答案:

答案 0 :(得分:2)

假设你正在使用bash,并且想要迭代字符串中的每个字符以进一步操作它,你可以执行以下操作:

#!/bin/bash
str="abcd 01234"; 
for i in $(seq 0 $(( ${#str} - 1 )) ); do
    echo ${str:$i:1};
done

或者,如果你想要一行:

str="abcd 01234"; for i in $(seq 0 $(( ${#str} - 1 )) ); do echo ${str:$i:1};done

如果您不想操作字符,只需单独打印,请改用以下字符:

echo "1234 5678" | fold -w1