数组代码编号

本文关键字:编号 代码 数组 | 更新日期: 2023-09-27 18:32:55

这是我的期中考试例题。但是,我还不知道如何正确地用bash编写代码。请您帮忙向我解释一下吗?这对我来说非常重要。

谢谢

数组代码编号

如果我理解了你的问题...这应该有效:

$ ls /usr/bin | cut -b1 | uniq -c

请注意,这将计算/usr/bin 下的所有内容(文件、链接,...)

这里有一些可能符合你要求的东西。它基本上将所有命令存储在一个名为"命令"的数组中。这个数组已经通过 ls 进行了排序。然后我们遍历该数组中的所有元素,并使用${cmd:0:1}提取每个单词的第一个字母,并将其存储在一个变量中,该变量跟踪我们正在处理的当前"字母"。随着循环的继续,只要字母相同,我们就会不断增加计数器,否则,我们打印出字母和计数器,存储新的当前字母并将计数器重置为 1(因为它已经是新字母了)。最后,我们仍然需要打印最后一条记录,从而在循环外打印。

#!/bin/bash
commands=(`ls /usr/bin`)
count=0
letter=""
for cmd in ${commands[@]}; do
  curletter=${cmd:0:1}
  if [ "${letter}" != "${curletter}" ]; then
     echo "${letter}: ${count}"
     letter=${curletter}
     count=1
  else
     count=`expr $count + 1`
  fi
done
echo "${curletter}: ${count}"