Nowe posty

xx Odpowiednie wykorzystanie rdzeni P i E procesora (0)
Wczoraj o 17:52:01
xx Samba DC/AD problem z DNS (0)
2024-07-25, 12:42:23
xx DNS i WWW na virtualbox (4)
2024-07-24, 10:30:38
xx Instalacja Manjaro Linux (11)
2024-07-13, 22:57:31
xx Linux Lite 6.6. Po uruchomieniu z DVD przeglądarka Chrome jest nieaktywna (12)
2024-07-10, 22:33:30
xx Laptop MSI CR500 - nie akceptuje linuksa (6)
2024-07-03, 05:30:18
xx Co to jest ? (3)
2024-07-02, 13:36:58
xx Nowa wersja libreoffice (1)
2024-06-30, 18:22:49
xx Dystrybucja - środowisko graficzna dla amigowca (MUI) (4)
2024-06-30, 12:14:25
xx Jaki kod błędu zwracać z kernela? (3)
2024-06-09, 12:29:22

Autor Wątek: Linux  (Przeczytany 2876 razy)

Offline Kacpermilewski

  • Nowy na forum
  • *
  • Wiadomości: 1
    • Zobacz profil
Linux
« dnia: 2022-11-17, 16:21:40 »
Cześć. Mam problem.
Jak zebrać informacje o każdym podfolderze w folderze podanym jako argument, w tym: nazwę podfolderu i liczbę plików w nim zawartych (ls… |wc -l)?

Offline 1709

  • Users
  • Guru
  • *****
  • Wiadomości: 2771
  • 1709
    • Zobacz profil
Odp: Linux
« Odpowiedź #1 dnia: 2022-11-18, 09:03:26 »
Prawie każda komenda ma instrukcję zwaną man lub opcję --help
 tak ?
I teraz jak widzisz instrukcję komendy ls w sysstemie lub on-line https://man.archlinux.org/man/ls.1.pl
to w tej instrukcji które opcje byś wybrał,
żeby wyświetlić nazwę podfolderu  ? ( informacje o każdym podfolderze )


Edytowane
Inaczej Ci napiszę.
Listę [ tylko ] plików możesz wyświetlić / znaleźć zarówno przy pomocy komendy ls jak i find

- w ls jak wyświetlisz uprawnienia to pierwszy znak "-" będzie plikiem, wystarczy przefiltrować w odpowiedni sposób komendą grep
przykład uprawnień ( poprawiony link na lepszy z lepszym wytłumaczeniem )
https://www.is.umk.pl/~grochu/unix/unix-2020/S6.html
Przykładowy manual (man) komendy ls
https://man.archlinux.org/man/ls.1.pl

- man find
 https://www.linuxcertif.com/man/1/find/pl/
Jak wpiszesz w wyszukiwarkę po angielsku np. ( po angielsku, bo masz więcej przykładów )
linux How To Use The Find Command In Linux To Recursively
to znajdziesz napewno jakieś przykłady

- Jeszcze jest problem z wyświetleniem jednocześnie nazwy i liczby.
No taką krótką linijką jak ty, to nie potrafię.
Możesz to zrobić przy pomocy pętli np. for lub while
i w petli wyświetlić
* nazwę podfolderu
* liczbę plików

Żeby całość była bardziej czytelna najlepiej zrobić to jako skrypt, niż jedną długą linijką komend.

Edytowane
Jako ciekawostkę możesz na koniec poczytać o argumentach.
Dzięki zaprojektowaniu menu i użyciu argumentów we własnym skrypcie,
skrypt --nazwa_argumentu /ścieżka/do/katalogu/
możesz własnym skryptem sprawdzać dowolny katalog w systemie.
https://www.linux.pl/2004/01/29/wprowadzenie-do-programowania-w-bash-u/
https://nitrooos.pl/2019/09/bash-parsowanie-argumentow/

Starałem CI dać treści po polsku, żebyś najlepiej zrozumiał,
ale jak możesz staraj się także wyszukiwać po angielsku ze względu na ogrom poradników i przykładów.
Do pomocy zawsze masz translatory on-line.
« Ostatnia zmiana: 2022-11-18, 10:33:25 wysłana przez 1709 »
PS: Brak polskiej czcionki, nie jest to brak lenistwa, a jej brak w systemie i brak czasu na reczne poprawki.