私は塗りつぶしを繰り返し、それに対していくつかのコマンドを実行する単純なforループを作業しています。 「AllBoxes」キーワードで始まるファイルのみを考慮するには、IFステートメントを使用してフィルタを設定する必要があります。
for pdb in "${storage}"/"${experiment}"/*.pdb ; do
pdb_name=$(basename "$pdb" .pdb)
# if file starts with pharase AllBoxes do something on the file
if [[ ${pdb_name} =='AllBoxes*' ]] ; then
echo Vizualisation of ${pdb_name} is being processed!
fi
done
これにより、IF文にエラーが発生します。
また、残りのパディングをすべてスキップするだけで十分ですか?ループを終了するには、ElseやElif Breakなどの機能を導入する必要がありますか?
答え1
その後にスペースが必要なため、エラーが発生した可能性がありますが、==
拡張テストでは同様のワイルドカードを使用できません。=~
正規表現マッチング(類似)を使用できますが、引用符は文字通りAllBoxes.*
処理されます。AllBoxes
ファイルにのみ興味がある場合は、ループを次のように変更できます。
for pdb in "${storage}/${experiment}"/AllBoxes*.pdb ; do