Załóżmy, że istnieje takie polecenie, jak:
cat /boot/config-3.19.0-32-generic | grep CONFIG_ARCH_DEFCONFIG
Dane wyjściowe są takie:
CONFIG_ARCH_DEFCONFIG="arch/x86/configs/x86_64_defconfig"
Moje pytanie brzmi: czy są jakieś polecenia, które wypisują tylko to, co jest w przecinku, tzn. " "
?
Czy mógłbyś trochę wyjaśnić polecenie? Dziękuję Ci! z góry.
cat
, choć w tym przypadku bezużyteczne, stałaby edycji całą linię poleceń łatwiejszych w przyszłości w przypadku, gdy chcesz zmienić / dodać / usunąć coś później, może tr
albo cut
, etc, nie trzeba znaleźć i przenieść pliku , upewnij się, że drugie polecenie go obsługuje, znajdź, gdzie go umieścić itp. A w przypadku małego pliku testowego dodaje tylko 0,002 s. (Prawdopodobnie spędziłem więcej czasu na pisaniu tego, niż kiedykolwiek zaoszczędzę w ciągu całego życia, unikając zbędnych cat
)
cat
pomoc tutaj? Możesz to zrobić grep foo file | tr
lub ... | cut
tak łatwo, jak cat file | tr | grep ...
. Po cat
prostu dodaje dodatkowe pięć znaków, dodatkowy potok i dodatkowe wywołanie programu i niczego nie upraszcza.
cat
w potoku jest prawie zawsze marnotrawstwem zasobów (AKA UUOC );grep
potrafi już odczytać dane wejściowe z pliku (tzn.grep CONFIG_ARCH_DEFCONFIG /boot/config-3.19.0-32-generic
robi dokładnie to samo, ale 1. Jest krótszy 2. Łatwiej zrozumieć 3. Nie rozwidla dodatkowej powłoki i dodatkowego procesu). W 99% przypadków użycie cat na początku potoku bez łączenia wielu plików jest po prostu szkodliwe. :)