Jak uzyskać linie zawierające ciąg znaków w pliku?

12

W systemie Linux: jak wyświetlić wiersze zawierające ciąg znaków w pliku tekstowym, takie jak:

search "my string"  file_name

Jak ustawić rozróżnianie / rozróżnianie wielkości liter w wyszukiwaniu? Jak mogę również wyświetlać numery linii?

pozdrowienia

alwbtc
źródło

Odpowiedzi:

23

dobrze

grep -n "my string" file_name 

zrobi dla twojego konkretnego zapytania. W GREP domyślnie rozróżniana jest wielkość liter. Aby nie rozróżniać wielkości liter, można dodać do niej opcję -i. -nOpcja wyświetla numery linii. W przypadku innych niezliczonych opcji polecam

man grep

dla bardziej interesujących możliwości dopasowania wzorca GREP.

kaji
źródło
-1
#!/bin/bash
cd $HOME/Desktop
s=xda
m=$(grep -n "$s" $HOME/Desktop/tt.txt )
if [ "$m" = "$s" ] ;then
    echo "success"
else
  echo "fail"
fi
Raj s
źródło
1
Wygląda na to, że to zła odpowiedź.
Alexander Tolkachev
1
Również nazwy zmiennych jednoliterowych są złe. Ten fragment kodu byłby znacznie bardziej czytelny przy lepszym nazewnictwie.
pisklęta