-2

例如。

我有一个字符串:

st='abcd'

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

我想获取字符串 st 中的每个字符,如何在 shell 中获取它?

4

1 回答 1

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
于 2012-12-14T04:04:15.507 回答