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

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.


-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

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
Korzystając z naszej strony potwierdzasz, że przeczytałeś(-aś) i rozumiesz nasze zasady używania plików cookie i zasady ochrony prywatności.
Licensed under cc by-sa 3.0 with attribution required.