bash を使用して、文字列内に含まれる単語の最初の文字を見つける方法を教えてください。
例えば
コード:
str="my-custom-string'
m、c、sを見つけたいと思います。最初の文字を見つける方法は知っていますが、これは少し複雑です。どうもありがとう、
パラメータ置換を使用した純粋な Bash。マイナスを削除し、各単語の最初の文字を選択します:
str="my-custom-string"
for word in ${str//-/ }; do
echo "${word:0:1}"
done
結果
m
c
s
sed
バージョンは次のとおりです。
echo 'my-custom-string' | sed 's/\(^\|-\)\(.\)[^-]*/\2\n/g'
$ echo 'my-custom-string' | egrep -o '\b\w'
m
c
s
これはうまくいくかもしれません(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