2つの異なる文字列から共通の文字列を抽出/切り取る方法はありますか?

2つの異なる文字列から共通の文字列を抽出/切り取る方法はありますか?

部分的に類似し、部分的に異なる2つの文字列から共通文字列を抽出するBashまたはLinuxコマンドは何ですか

変数の取得方法

a="How good is it to"

外の

b="How good is it to die in defending fatherland"
c="How good is it to live in dedicating oneself to nation"

ベストアンサー1

文字列のbashループ:

i=0
a=
while [[ ${b:i:1} == ${c:i:1} ]]; do a+=${b[i]}; ((++i)); done

またはより少ない仕事で:

i=0
while [[ ${b:i:1} == ${c:i:1} ]]; do ((++i)); done
a=${b:0:i}

これにより、次の文字列が生成されます。

printf -- '-->%s<--\n' "$a"
-->How good is it to <--

...対応する文字が両方のソース文字列に共通であるため、末尾のスペースがあります。

おすすめ記事