我在bash中做了一些工作。它是這樣的:按正確順序查找單詞
作爲第一個參數,您鍵入單詞可以按寫入順序在文件中找到它,在第二個參數中鍵入目錄。它必須遞歸搜索並返回文件名。
例如:bash mybash "alice cat" .
它應該返回一個包含示例文件,「愛麗絲有一隻貓」,「愛麗絲貓」,而不是「貓愛麗絲」
我smething這樣
#!/bin/bash
pattern=".*"
for arg in $1; do
pattern+="${arg}.*"
done
grep -r ${pattern} $2
但一行只搜索線,不找到文件:
「愛麗絲別的東西」
「新線有貓「
但它應該返回它。
一些幫助,將不勝感激。
迎接。
我不清楚爲什麼它應該返回「愛麗絲別的東西」,但不是「貓有愛麗絲」?當「貓」不在時,爲什麼它應該返回「愛麗絲別的東西」? – jedwards
如果你輸入參數「愛麗絲貓」它必須在文件中的順序相同,所以它不能返回「貓有愛麗絲」,因爲「愛麗絲」之前是「貓」 – tobi
我明白,但包含「愛麗絲別的東西「根本不包含」貓「。 – jedwards