代码之家  ›  专栏  ›  技术社区  ›  devoured elysium

如何在bash中获取变量的长度?

  •  1
  • devoured elysium  · 技术社区  · 14 年前

    我现在有一些

    abc=`find ~/$folder .. etc
    

    abc_length = ?
    

    谢谢

    2 回复  |  直到 14 年前
        1
  •  3
  •   livibetter    14 年前

    使用数组:

    abc=( $(find ...) )
    abc_length=${#abc[@]}
    

    检索第n个结果,比如说第10个:

    echo ${abc[9]}
    

    或列出所有:

    for dir_name in "${abc[@]}"; do
      echo $dir_name
    done
    

    abc_length=$(find ... | wc -l)
    

    您可能希望将数字减少1,因为第一个结果是 ~/$folder :

    abc_length=$(( $(find ... | wc -l) - 1 ))
    
        2
  •  4
  •   C. K. Young    14 年前

    我不知道你所说的“条目”是什么意思,所以我假设是“目录条目”。假设你没有名字中有换行符的文件, echo "$abc" | wc -l

    如果要计算字符数,请使用 wc -c 相反。