いくつかの要素を含むbash配列があり、そのうちの1つだけがnn.wr型です。ここで、nnは変更可能な整数です。
例えば
array=( "abcd" "01.wr" "ef_gh" )
ただし、配列のどこにでも配置できます。どうやって見つけて返却できますか?部分一致*.wrを使用しようとしていますが、sedまたはawkを使用できません。
明らかに方法があるでしょう! !
ベストアンサー1
sed
または同じ外部コマンドは必要ありませんawk
。要素を繰り返し、パターンマッチングを使用します。
#! /bin/bash
array=( "abcd" "01.wr" "ef_gh" )
unset found
for e in "${array[@]}" ; do
if [[ $e == +([0-9]).wr ]] ; then
found=$e
break
fi
done
[[ $found ]] && echo "$found"