Próbuję lepiej nauczyć się wiersza poleceń i zastanawiam się, jaka byłaby różnica między tymi dwoma poleceniami.
grep -c ^b example
i
grep ^b example| cat –n
Komentarze
- Witamy w Unix i Linux . Jeśli chcesz nauczyć się obsługi wiersza poleceń, najlepiej poeksperymentować, uruchamiając polecenia samodzielnie, używając różnych plików wejściowych. Pytania powinny pokazać trochę wysiłku badawczego, więc ' d radzę sprawdzić odpowiednie strony podręcznika, aby poznać przeznaczenie różnych opcji. Strony podręcznika nie są ' nie najbardziej czytelne, jeśli ' jesteś nowy w Uniksie, więc jeśli masz jakiekolwiek problemy ze zrozumieniem go, możesz edytować to pytanie, aby było bardziej konkretne (i przydatne). Zobacz Jak zapytać i wybierz prezentację .
- (-1) Nawet nie te same polecenia. Dwa niepowiązane polecenia.
- Czy próbowałeś je uruchomić?
Odpowiedz
Cóż , zgodnie z z instrukcją , grep
:
wyszukuje WZÓR w każdym PLIKU . Domyślnie
grep
drukuje pasujące wiersze.
i -c
flaga:
-c, --count
Wyłącz normalne wyjście; zamiast tego drukuj liczbę pasujących wierszy dla każdego pliku wejściowego.
Tak więc grep -c ^b example
wypisuje liczba (liczba) linii pasujących do wzorca, podczas gdy grep ^b example
wypisuje same wiersze.
Jak w przypadku cat
, opisano w
połączyć pliki i wydrukować na standardowe wyjście
, a flaga -n
to:
-n, --number
ponumeruj wszystkie wiersze wyjściowe
Biorąc pod uwagę potok i brak nazwy plików, cat
czyta z potoku, więc wyjście jest wyjściem grep
z dodanymi numerami wierszy. Stąd wyświetla wszystkie pasujące wiersze, ponumerowane.
Różni się od grep -n ^b example
, gdzie grep
dodaje li ne numery meczów. grep
zna numery wierszy oryginalnego pliku, podczas gdy cat
widzi tylko dane wyjściowe grep
i odpowiednio ponumeruje linie.
A więc mając plik wejściowy
$ cat example bar foo basf
Mamy:
$ grep -c ^b example 2 $ grep ^b example |cat -n 1 bar 2 basf $ grep -n ^b example 1:bar 3:basf
Odpowiedz
OK polecenie:
-
grep -c ^b example
: wyświetla liczbę pasujących wierszy dla wierszy zaczynających się na literęb
i -
grep ^b example | cat -n
: przekazuje wynik polecenia grep do polecenia cat i wyświetla je z numerami wierszy.-n
zmuszacat
do wyświetlenia ich wraz z numerami wierszy.
Przykład :
example.txt z zawartością:
media sound3 media sound1 media sound2 find sound -type f -name sound[0-9] -printf "media %f\n" > file.txt find sound -type f -name sound[0-9] -exec bash -c "echo media bash >> file.txt" {} \; find sound -type f -name sound[0-9] -exec bash -c "f="{}"; echo media $( basename ${f}) >> file.txt" \;
Wynik z (1):
3
Wynik z (2):
1 media sound3 2 media sound1 3 media sound2
Komentarze
- Tak Twoje prawo!