0

bash を使用して、文字列内に含まれる単語の最初の文字を見つける方法を教えてください。

例えば

コード:

str="my-custom-string'

m、c、sを見つけたいと思います。最初の文字を見つける方法は知っていますが、これは少し複雑です。どうもありがとう、

4

4 に答える 4

2

パラメータ置換を使用した純粋な Bash。マイナスを削除し、各単語の最初の文字を選択します:

str="my-custom-string"

for word in ${str//-/ }; do
    echo "${word:0:1}"
done

結果

m
c
s
于 2012-07-08T09:50:13.073 に答える
2

sedバージョンは次のとおりです。

echo 'my-custom-string' | sed 's/\(^\|-\)\(.\)[^-]*/\2\n/g'
于 2012-07-08T11:00:23.023 に答える
2
$ echo 'my-custom-string' | egrep -o '\b\w'
m
c
s
于 2012-07-08T08:10:27.887 に答える
1

これはうまくいくかもしれません(GNU sed)。

echo 'my-custom-string' | sed 's/\B.//g;y/-/,/'
m,c,s

また:

echo 'my-custom-string' | sed 's/\B.//g;y/-/\n/'
m
c
s
于 2012-07-08T13:40:10.820 に答える