我在 bash 中有一些工作要做。它是这样的:
作为第一个参数,您键入单词以按照写入的顺序在文件中找到它,在第二个参数中您键入目录。它必须递归搜索并返回它出现的文件名。
例如:bash mybash "alice cat" .
它应该返回包含例如:“alice has a cat”,“alice cat”,但不是“cat has alice”的文件
我做了这样的事情
#!/bin/bash
pattern=".*"
for arg in $1; do
pattern+="${arg}.*"
done
grep -r ${pattern} $2
但它仅逐行搜索,找不到具有以下内容的文件:
“爱丽丝别的东西”
“新线有猫”
但它应该返回它。
一些帮助将不胜感激。
问候。