gpt4 book ai didi

linux - 在文件中查找数字(脚本、bash)

转载 作者:太空宇宙 更新时间:2023-11-04 04:03:10 25 4
gpt4 key购买 nike

我想在文件中查找数字或单词。作为第一个参数,它获取您要查找的文件名和第二个数字。

例如我在命令行中编写:

bash script.sh file.txt 6

我得到输出

Number 6 repeats 4 time

这是file.txt中的内容

5 4 5 6 2 4 6 3 6 6

这是我想到并卡住的代码

para2=$2
while read line
do
array=($line)
echo "Value of third element in my array : ${array[3]} "
done < $1

我不知道如何将参数 2 与每个数组进行比较。我知道在上面的代码中我打印出了第三个数组,但我不知道如何遍历每个数组并将它们与参数二进行比较。我的意思是我想遍历所有数字并与输入参数进行比较。请帮忙

最佳答案

试试这个:

numOccurences=0

while read line
do
array=($line)

for i in "${array[@]}"
do
if [ "$2" = "$i" ]
then
numOccurences=`expr $numOccurences + 1`
fi
done
done < $1

echo "$2 occurs $numOccurences times in $1"

程序将读取一行,迭代该行形成的数组,然后将值与目标字符进行比较。每场比赛都会更新计数器,并在最后打印结果。

输入示例(file.txt):

5 4 5 6 2 4 6 3 6 6 6 6
6 6

命令:

/Users/Robert/Desktop/Untitled.sh /Users/Robert/Desktop/file.txt 6

输出:

6 occurs 8 times in /Users/Robert/Desktop/file.txt

关于linux - 在文件中查找数字(脚本、bash),我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/22314090/

25 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com