我希望grep用于多个文件中的特定工作。多个文件存储在变量测试中。
TESTING=$(ls -tr *.txt)
echo $TESTING
test.txt ab.txt bc.txt
grep "word" "$TESTING"
grep: can't open test.txt
ab.txt
bc.txt
给我一个错误。除了for循环
之外还有其他方法吗?答案 0 :(得分:2)
从$TESTING
左右取出双引号。
grep "word" $TESTING
双引号使整个文件列表扩展为grep
的单个参数。 正确的方法是:
find . -name \*.txt -print0 | xargs -0 grep "word"
答案 1 :(得分:0)
我猜不需要引号。
grep "word" $TESTING
适合我(Ubuntu,bash)。