Puncte:7

Cum se sortează fișierele cu o anumită permisiune după dimensiune?

drapel cn

Trebuie să-mi sortez toate fișierele cu 644 de permisiuni după dimensiune.

Până acum am încercat să folosesc ls comanda pentru a găsi și sorta, dar nu par corecte. Cred că poate avea nevoie de o grep comandă, dar cred că trebuie să arate numere precum 644, nu rwx. Nu știu cum să fac asta într-un mod simplu, de când am folosit pentru prima dată Linux și terminalul în general.

drapel in
Asta sună a temei. Ai putea detalia ce vrei să spui cu „nu par corecte”? Îți lipsesc fișierele? Este o soluție incompletă? Împărtășirea a ceea ce ați făcut deja poate permite cuiva să ofere o sugestie despre cum să vă atingeți obiectivul
waltinator avatar
drapel it
Citiți `man find stat`.
Puncte:11
drapel cn

În standardul tău bash shell, puteți face asta cu comanda find:

găsi . -perm 0644 -printf '%s %p\n'| sortare - nr

Aceasta găsește toate fișierele și directoarele cu permisiuni 0644 și imprimă rezultatele formatate folosind -printf acțiune. %s reprezintă dimensiunea fișierului și %p calea fișierului. \n reprezintă o nouă linie. Ieșirea este conectată la fel, setat să sorteze numeric (-n) și în ordine inversă (-r).

Eva  avatar
drapel cn
multumesc mult pentru ajutor
Puncte:7
drapel hr

Folosind shell-ul Z (zsh) cu al ei; cu al lui calificative glob:

print -rC1 *(.DNf:u=6,go=4:oL)

unde sunt semnificațiile

  • . se potrivește numai cu fișiere simple
  • D setează opțiunea GLOB_DOTS pentru modelul curent
  • N setează opțiunea NULL_GLOB pentru modelul curent
  • fspec potrivește fișierele cu potrivirea drepturilor de acces spec
  • oL ordonează rezultatele după lungime (dimensiune în octeți); utilizați OL pentru a inversa ordinea
stumblebee avatar
drapel mx
Le-ai dat răspunsul la întrebarea bonus! LAUGH OUT LOUD
drapel hr
@stumblebee irl Probabil că aș fi folosit `find` cu `-perm` și `-printf` pentru a afișa dimensiunea și numele, apoi sortați și tăiați rezultatul - eram doar interesat să explorez cum să o fac în zsh!
user535733 avatar
drapel cn
Acesta este un răspuns genial pe mai multe niveluri. Cel mai distractiv răspuns pe care l-am văzut astăzi!
Eva  avatar
drapel cn
multumesc mult pentru raspuns
Eva  avatar
drapel cn
Termenul limită a fost acum două zile, așa că nu vă faceți griji, fără puncte bonus pentru asta, am vrut doar să învăț cum să fac asta :D nu îmi iau credit pentru munca altora

Postează un răspuns

Majoritatea oamenilor nu înțeleg că a pune multe întrebări deblochează învățarea și îmbunătățește legătura interpersonală. În studiile lui Alison, de exemplu, deși oamenii își puteau aminti cu exactitate câte întrebări au fost puse în conversațiile lor, ei nu au intuit legătura dintre întrebări și apreciere. În patru studii, în care participanții au fost implicați în conversații ei înșiși sau au citit transcrieri ale conversațiilor altora, oamenii au avut tendința să nu realizeze că întrebarea ar influența – sau ar fi influențat – nivelul de prietenie dintre conversatori.