2つのBash配列に共通するアイテムを見つける

閃光

私は2つの配列number1を持っている以下のシェルスクリプトを持っていますnumber2range数値のリストを持つ変数があります。

ここで、number1配列にあるすべての数値がrange変数にも存在することを理解する必要があります。同様のためnumber2だけでなく、アレイ。以下は私のシェルスクリプトで、正常に動作しています。

number1=(1220 1374 415 1097 1219 557 401 1230 1363 1116 1109 1244 571 1347 1404)
number2=(411 1101 273 1217 547 1370 286 1224 1362 1091 567 561 1348 1247 1106 304 435 317)
range=90,197,521,540,552,554,562,569:570,573,576,579,583,594,597,601,608:609,611,628,637:638,640:641,644:648
range_f=" "$(eval echo $(echo $range | perl -pe 's/(\d+):(\d+)/{$1..$2}/g;s/,/ /g;'))" "
echo "$range_f"

for item in "${number1[@]}"; do
 if [[ $range_f =~ " $item " ]] ; then
 new_number1+=($item)
 fi
done
echo "new list: ${new_number1[@]}"

for item in "${number2[@]}"; do
 if [[ $range_f =~ " $item " ]] ; then
   new_number2+=($item)
 fi
done
echo "new list: ${new_number2[@]}"

上記のものを書くためのより良い方法はありますか?今のところ、2つのforループを繰り返してからnew_number1new_number2配列を計算しています。

注:644:648平均のような数字は、644で始まり、648で終わります。これは単なる短い形式です。

codeforester

commループする代わりに、プロセス置換とともに使用できます

mapfile -t new_number1 < <(comm -12 <(printf '%s\n' "${number1[@]}" | sort) <(printf '%s\n' $range_f | sort))
mapfile -t new_number2 < <(comm -12 <(printf '%s\n' "${number2[@]}" | sort) <(printf '%s\n' $range_f | sort))
  • mapfile -t name ネストされたプロセス置換から名前付き配列に読み取ります
  • printf ... | sort ペアは、通信用にソートされた入力ストリームを提供します
  • comm -12 2つのストリームに共通のアイテムを放出します

この記事はインターネットから収集されたものであり、転載の際にはソースを示してください。

侵害の場合は、連絡してください[email protected]

編集
0

コメントを追加

0

関連記事

分類Dev

2つの配列間で共通の固有のアイテムを見つける

分類Dev

文字列リスト内のすべてのアイテムに共通する部分を見つける方法は?

分類Dev

すべての配列に共通する要素を見つける

分類Dev

任意の数の配列間で共通のアイテムを見つける最も効率的な方法

分類Dev

2つの配列を比較し、2番目の配列に欠落しているアイテムを見つけます

分類Dev

配列内の重複するアイテムを見つける

分類Dev

2つの配列間の共通要素の数を見つける

分類Dev

Java、2つの配列の共通部分を見つける

分類Dev

2つの配列で共通の要素を見つける

分類Dev

Matlab、2つのセル配列の共通要素を見つける

分類Dev

2 つの配列で共通の要素を見つける方法は?

分類Dev

配列内の特定のアイテムを見つけるにはどうすればよいですか?

分類Dev

配列内の特定のアイテムを見つけるにはどうすればよいですか?

分類Dev

別の配列のアイテムから複数の変数を持つアイテムを見つけるにはどうすればよいですか?

分類Dev

2つの配列の共通部分を見つけるために、golangでどちらが高速ですか?

分類Dev

2つの配列からユニークなアイテムを見つける

分類Dev

特定の条件に一致する2つのnumpy配列に共通するインデックスを見つける

分類Dev

配列を検索し、依存するアイテムを見つけます

分類Dev

価格が配列内の値になる2つのアイテムのインデックスを見つける

分類Dev

配列内の最初の重複アイテムを見つける方法は?

分類Dev

C#で配列内のアイテムの位置を見つける方法

分類Dev

2D配列内のアイテムのインデックスを見つける

分類Dev

配列のオブジェクトでアイテムを見つける方法

分類Dev

2つの文字列配列間で共通でない要素を見つける

分類Dev

PHPの2つの配列内で共通の値を見つける

分類Dev

Javaで2つの配列間の共通の最小値を見つける

分類Dev

2つの配列で共通の要素を見つけるためのJavascriptプログラム

分類Dev

サイズの異なる2つの配列をループして、等しいアイテムを見つけます

分類Dev

jqueryで2つの配列間でのみ共通要素を見つける方法

Related 関連記事

  1. 1

    2つの配列間で共通の固有のアイテムを見つける

  2. 2

    文字列リスト内のすべてのアイテムに共通する部分を見つける方法は?

  3. 3

    すべての配列に共通する要素を見つける

  4. 4

    任意の数の配列間で共通のアイテムを見つける最も効率的な方法

  5. 5

    2つの配列を比較し、2番目の配列に欠落しているアイテムを見つけます

  6. 6

    配列内の重複するアイテムを見つける

  7. 7

    2つの配列間の共通要素の数を見つける

  8. 8

    Java、2つの配列の共通部分を見つける

  9. 9

    2つの配列で共通の要素を見つける

  10. 10

    Matlab、2つのセル配列の共通要素を見つける

  11. 11

    2 つの配列で共通の要素を見つける方法は?

  12. 12

    配列内の特定のアイテムを見つけるにはどうすればよいですか?

  13. 13

    配列内の特定のアイテムを見つけるにはどうすればよいですか?

  14. 14

    別の配列のアイテムから複数の変数を持つアイテムを見つけるにはどうすればよいですか?

  15. 15

    2つの配列の共通部分を見つけるために、golangでどちらが高速ですか?

  16. 16

    2つの配列からユニークなアイテムを見つける

  17. 17

    特定の条件に一致する2つのnumpy配列に共通するインデックスを見つける

  18. 18

    配列を検索し、依存するアイテムを見つけます

  19. 19

    価格が配列内の値になる2つのアイテムのインデックスを見つける

  20. 20

    配列内の最初の重複アイテムを見つける方法は?

  21. 21

    C#で配列内のアイテムの位置を見つける方法

  22. 22

    2D配列内のアイテムのインデックスを見つける

  23. 23

    配列のオブジェクトでアイテムを見つける方法

  24. 24

    2つの文字列配列間で共通でない要素を見つける

  25. 25

    PHPの2つの配列内で共通の値を見つける

  26. 26

    Javaで2つの配列間の共通の最小値を見つける

  27. 27

    2つの配列で共通の要素を見つけるためのJavascriptプログラム

  28. 28

    サイズの異なる2つの配列をループして、等しいアイテムを見つけます

  29. 29

    jqueryで2つの配列間でのみ共通要素を見つける方法

ホットタグ

アーカイブ