これは>>In bash, how can I check if a string begins with some value?と似ていますが、重複していません。変数がbashの別の変数で始まるかどうかを調べる
私は2つの配列を持っていて、最初の文字列内の各文字列について、2番目の文字列が最初の文字列かどうかをチェックしたいと思います。なしの成功と、その上のすべてを、また
if [[ "${array1[i]}" == "${array2[j]*}" ]]
if [[ "${array1[i]}" == "${array2[j]}*" ]]
if [[ "${array1[i]}" = "${array2[j]*}" ]]
if [[ "${array1[i]}" = "${array2[j]}*" ]]
引用符ブレース、および:
array1=("test1","test2","test3");
array2=("test1 etc","test1 nanana","test2 zzz","test3 abracadabra");
for i in "${!array1[@]}"; do
for j in "${!array2[@]}"; do
if [[ "${array1[i]}" == "${array2[j]}*" ]]; then
echo "array1[$i] and arry2[$j] initial matches!";
fi;
done;
done
は、私の中のような、もし多くの条件を試してみました。
私のコードが長くなります。私は "readarray -t array1"を使用してコマンド出力の配列を設定していますので、間違った方法で配列を宣言しましたが、ここでは私の誤りです。また、私は "!"配列の先頭に "i"と "j"をインデックスにしたいからです。しかし、あなたの解決策もうまくいきました。ありがとう。 – gcpdev
ええ、インデックスを使用しようとしていることに気づいていませんでしたが、最初のソリューションはbashで優れていると思います。実装しようとしていたものを含めるように答えを更新します。 –
完璧な、ちょうど私のコードで別のミスを持っています。どうもありがとうございました。 – gcpdev