長さ1の文字列で、次の文字のみがあるかどうかを確認しようとしています: [RGWBO]。
私は次のことを試みていますが、うまくいきません。何が欠けていますか?
if [[ !(${line[4]} =~ [RGWBO]) ]];
長さ1の文字列で、次の文字のみがあるかどうかを確認しようとしています: [RGWBO]。
私は次のことを試みていますが、うまくいきません。何が欠けていますか?
if [[ !(${line[4]} =~ [RGWBO]) ]];
これは、使用可能な任意のバージョンの Bash で動作します。
[[ -n ${LINE[0]} && ${LINE[0]} != *[^RGWB0]* ]]
私は拡張グロブのシンプルさを好みますが:
shopt -s extglob
[[ ${LINE[0]} == +([RGWBO]) ]]
${#myString}
1 に等しい場合はステップ 2 に進みます。re='[RGWBO]';
while read -r line; do
if (( ${#line} == 1 )) && [[ $line == $re ]]; then
echo "yes: $line"
else
echo "no: $line"
fi
done < test.txt
次のリンクを参照してください。
${#myString}
;${myString:0:8}
ます。test.txt
ファイルにはこれが含まれています
RGWBO
RGWB
RGW
RG
R
G
W
B
O
V