2つの文字列間の類似性を抽出する方法

2つの文字列間の類似性を抽出する方法

2つの異なる文に2つの文字列があります。

文字列1:30 mutation alanine for valine

文字列2:alanine at position 30

たとえば、正規表現を使用して両方とも30とアラニンを持っているので、2つの間の類似点を見つける方法はありますか?

ベストアンサー1

あなたができることの1つは、両方の文字列に単語が表示されることを確認することです。

$ comm -12 <(sed 's/ /\n/g' <<<$str1 | sort) <(sed 's/ /\n/g' <<<$str2 | sort )
30
alanine

説明する

  • ファイルを比較してくださいcomm command-1とフラグを使用すると、-2次に見つかった行が印刷されます。両方文書。

  • sed 's/ /\n/g' <<<$str1 | sort:これは単にすべてのスペースをnewlinesに置き換えて$str1stdoutとして印刷し、入力ファイルをソートする必要があるsortときにstdoutを渡します。commフォーマットの詳細については、<<<$var次を参照してください。Bash:ここに文字列を入力してください

  • この<(command)形式をプロセス置換と呼びます。これについての詳細はここ

上記のコマンドの最終結果は、両方の文字列に表示されるすべての単語のリストになります。

おすすめ記事