Nowe posty

xx Warning (4)
2023-03-19, 14:06:50
xx Problem z instalacją z pendrive (18)
2023-03-19, 03:31:33
xx Fizyczny przycisk POWER nie wyłącza komputera (5)
2023-03-17, 19:09:16
xx Adapter Bluetooth USB a LINUX MINT (2)
2023-03-15, 23:39:28
xx Sprzet z Linuxem (3)
2023-03-09, 17:12:28
xx Potrzebna pomoc w pracy domowej (10)
2023-03-09, 16:11:41
clip Bład aktualizacji w peppermint os (4)
2023-03-08, 10:19:05
xx Ekran logowania (11)
2023-03-07, 23:46:22
xx Lenovo Legion 5 i Ubuntu (6)
2023-03-07, 12:34:30
xx instalacja pycharm comunity -komunikaty (4)
2023-03-07, 09:24:13

Autor Wątek: Linux  (Przeczytany 1242 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: 2649
  • 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.