我正在尝试创建一个脚本,允许我选择名称中出现2个或更多字符串的文件。
示例:
test.txt // 1 occurrence only, not ok
test-test.txt // 2 occurrences OK
test.test.txt // 2 occurrences OK
我希望脚本只返回文件2和3.我试过这样但是这不起作用:
rows=$(ls | grep "test")
for file in $rows
do
if [[ $(wc -w $file) == 2 ]]; then
echo "the file $file matches"
fi
done
答案 0 :(得分:3)
grep
和wc
有点矫枉过正。一个简单的glob就足够了:
*test*test*
您可以这样使用:
ls *test*test*
或
for file in *test*test*; do
echo "$file"
done
答案 1 :(得分:0)
您可以使用:
result=$(grep -o "test" yourfile | wc -l)
-wc 是字数
在shell脚本中如果$result>1
做了什么......