数値を受け取り、変数に移動するスクリプトがあります。$n。質問名にこの文字/番号を含むディレクトリをどのように見つけることができますか?
答え1
1レベルのディレクトリだけを見たいので、シェルグロブを使うことができます。*$n*
ls ./*"$n"*
ただし、これはファイルとディレクトリを区別しません。したがって、ループを使用して各タイプを確認できます
for f in *"$n"*
do
if [ -d "$f" ]
then
printf "%s\n" "$f"
fi
done
またはを使用してくださいfind
。ただし、特殊文字を$n
パターン一致の一部として解釈することに注意してください。
find . -maxdepth 1 -type d -name "*$n*"
この特別なケースでは、このバリアントを使用することもできます。
find ./*"$n"* -maxdepth 0 -type d