Polecenie:
wc -l file.txt
wygeneruje wyjście jak:
42 file.txt
z wc
usłużnie informacją, nazwę pliku, jak również. Czyni to w przypadku jesteś sprawdzanie wiele plików na raz i chcesz indywidualne jak również całkowity Statystyki:
pax> wc -l *.txt
973 list_of_people_i_must_kill_if_i_find_out_i_have_cancer.txt
2 major_acheivements_of_my_life.txt
975 total
można zatrzymać wc
ze robi to poprzez zapewnienie jego dane dotyczące standardowego wejścia, więc nie robi „t wiedzieć nazwę pliku:
if [[ $(wc -l <file.txt) -ge 2 ]]
Poniższy zapis pokazuje to w akcji:
pax> wc -l qq.c
26 qq.c
pax> wc -l <qq.c
26
Na marginesie zauważysz, że przełączyłem się również na używanie [[ ]]
i $()
.
Preferuję ten pierwszy, ponieważ ma mniej problemów ze względu na zgodność wsteczną (głównie z dzieleniem ciągu), a drugi, ponieważ znacznie łatwiej jest zagnieździć pliki wykonywalne.
+1 Najprostsza odpowiedź. – chepner
@paxdiablo Masz rację. Dzięki. Można debatować, czy dwie linie, w których pierwsza kończy się odwrotnym ukośnikiem, powinny być traktowane jako jedna linia, ponieważ powinna to być określona przez aplikację. Ale ponieważ 'wc -l 'ignoruje odwrotny ukośnik, powinno to być również zignorowane. – Scrutinizer