获取目录名称的脚本命令的替代方案(使用 ls 和 awk)

获取目录名称的脚本命令的替代方案(使用 ls 和 awk)

与我关于 awk 被 cron 忽略的问题相关,awk 有其他选择吗?这是有问题的行:

for dirlist in `ls -l $WEBFOLDER | awk '$1 ~ /d/ {print $10 }' `

我不知道 awk,所以我不明白这$1 ~ /d/部分,但我认为它的作用是打印ls -l结果中的第 10 列。由于我目前无法使用 awk,是否有其他方法可以在不使用 awk 的情况下获取目录名称?

编辑:上面的行仅输出名称。没有线条或点,只有名称。

答案1

使用查找怎么样?您可以轻松获得这样的目录:

find . -type d

如果需要,您还可以限制深度:

find . -type d -maxdepth 1

答案2

只是一个简单的 for 循环:

for dir in "$WEBFOLDER"/*/; do
  basename "$dir"
done

如果您还想要以点开头的目录:

for dir in "$WEBFOLDER"/.*/ "$WEBFOLDER"/*/; do
  basename "$dir"
done

相关内容