Czy możliwe jest przekazanie stosunkowo dużego ciągu znaków, grep
czy może on zaakceptować tylko plik?
Zauważ, że nie mówię o przesyłaniu danych wyjściowych do grep, ale robię coś takiego:
grep 'hello' 'hello world'
(co oczywiście nie działa, przynajmniej tak nie jest)
grep
? Może więc coś takiegoprintf "various\ntext to grep here" | grep "text"
wytworzy „tekst do grepowania”Odpowiedzi:
To jest możliwe. Spróbuj tego:
Zamiast tego możesz przekazać zmienną zawierającą ciąg znaków:
źródło
grep
nie ma opcji interpretowania argumentów wiersza poleceń jako tekstu do przeszukania. Normalny sposób nagrep
łańcuch to potokowanie łańcucha dogrep
standardowego wejścia:Jak widać tutaj, możesz
echo
ciągów znaków zawierających więcej niż jeden wiersz tekstu. Możesz nawet wpisać je interaktywnie do powłoki, jeśli chcesz.Jeśli to nie spełnia twoich potrzeb, być może możesz wyjaśnić, dlaczego orurowanie nie jest akceptowalnym rozwiązaniem?
źródło
Wrzuć do
grep
Dlaczego nie tylko:
Zobacz także: /programming/2106526/how-can-i-grep-complex-strings-in-variables
źródło