-2

例えば。

私は文字列を持っています:

st='abcd'

CI では st[0]、st[1].. を使用してインデックスの文字を取得できます。しかし、シェルでそれを行う方法がわかりません。

文字列 st のすべての文字を取得したいのですが、シェルで取得するにはどうすればよいですか?

4

1 に答える 1

2

bash を使用していて、文字列内のすべての文字を反復処理してさらに操作したいと仮定すると、次のことができます。

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

または、1 行で表示する場合は、次のようにします。

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 に答える