2011-07-01 9 views
7

Jak przeskakiwać wiersze w pliku rozpoczynającym się od podwójnego ukośnika w linii poleceń systemu Linux? Podwójne ukośniki mogą mieć spacje przed nim, ale tylko spacje przed nim i żadne inne typy znaków.Jak linie grep zaczynają się od podwójnego ukośnika w linii poleceń Linuksa?

np.

shell_prompt: ls 
shell_prompt: grep .....? file_name 

Przepraszam, że nie podoba mi się, nie zauważyłem czegoś, co istniało przed // znakami innymi niż przestrzeń. Problem rozwiązany. Nagroda dla faceta, który odpowiedział pierwszy.

+2

Powinieneś przyznać facetowi, którego rozwiązanie było najlepsze ... –

Odpowiedz

7

używać wyrażeń regularnych:

grep -E '^ *//' 
+5

Czy "^ \ s * //" nie byłoby lepiej? – You

+1

\ byłoby lepiej, ale OP wymienia tylko spacje –

1

Edycja: przeczytać wszystkie wymagania:

grep "^ *\\/\\/" file 

Potrzebne są dwa backslashy dla znaków ewakuacyjnych w powłoce ponieważ są przechodzącą znak ukośnika do polecenia grep.

tj grep widzi regex String \/\/

+6

Lub użyj pojedynczego cudzysłowu. – kindall

2
grep "//" jquery.js 

znajdzie wszystkie wiersze zawierające //. Który, jeśli szukasz uwag, co może być zainteresowany.

grep "^//" jquery.js 

znajdzie tylko wiersze, które zaczynają się //.

Może warto poświęcić chwilę, aby zaglądać do Regular Expressions.

Powiązane problemy