gpt4 book ai didi

linux - 我想检查一些给定的文件是否包含 shell 脚本中输入文件中的 3 个以上的单词

转载 作者:塔克拉玛干 更新时间:2023-11-03 02:05:14 26 4
gpt4 key购买 nike

我的第一个参数是包含给定单词的文件,其余是我要在其中搜索文件的其他目录 ,其中至少包含 3 1st 参数

中的单词

我可以成功地打印出匹配词的数量,但是当测试是否大于3时,它会给我错误:测试:参数过多

这是我的代码:

#!/bin/bash

file=$1
shift 1

for i in $*
do
for j in `find $i`
do
if test -f "$j"
then
if test grep -o -w "`cat $file`" $j | wc -w -ge 3
then
echo $j
fi
fi
done


done

最佳答案

首先需要执行grep | wc,然后将该输出与 3 进行比较。您需要为此更改 if 语句。由于您已经在使用反引号,因此无法嵌套它们,因此您可以使用其他语法 $(command),它等同于 `command`:

if [ $(grep -o -w "`cat $file`" $j | wc -w) -ge 3 ]
then
echo $j
fi

关于linux - 我想检查一些给定的文件是否包含 shell 脚本中输入文件中的 3 个以上的单词,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/43283499/

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