Puncte:1

`ls` cu wildcard cu subdirectoare

drapel au
Tom

Când execut o comandă ls *, se va arăta

  1. fișierele din directorul curent
  2. directoarele din directoarele curente
  3. fișiere și directoare din directoarele din directoarele curente.

Când folosesc ls Nu vreau să văd în interiorul directoarelor din directorul curent. Sunt puțin confuz pentru că de mai bine de 8 ani folosesc ubuntu, nu am mai văzut așa ceva până acum.

Așa se face ls ar trebui sa functioneze? Există vreo modalitate de a opri 3 de la întâmplare?

De exemplu, dacă am fisier1.fisier folder1 folderul 2 folderul 3 textfile1.txt

Vreau ca ls f* să arate numai

fisier1.fisier
folder1
folderul 2
folderul 3

Ubuntu 20.04 LTS

Doug Smythies avatar
drapel gn
`ls -l -d *` ar trebui să facă ceea ce doriți.
sudodus avatar
drapel jp
+1 pentru sfatul lui Doug Smythies, sau chiar mai simplu (cu doar numele) `ls -d *` și `ls -d f*`
Puncte:0
drapel id

O modalitate este de a folosi găsi comanda in loc de ls. Poți să folosești -adancime maxima 1 astfel încât să nu citiți în foldere și să utilizați numai -Nume opțiune pentru wild cards.

Exemplu:

găsi . -maxdepth 1 -nume „f*”

Va returna totul în folderul curent . începând cu literă mică f chiar și numele folderelor, dar nu vă arată niciun conținut din foldere.

Puncte:0
drapel cn

Vă așteptați să funcționeze ca în MS-DOS, totuși, acesta este Linux.

Wildcards în Linux sunt extinse de shell-ul dvs. pentru a se potrivi cu toate elementele care se potrivesc cu wildcards. ls nu vede wildcardul dvs. Vede doar o listă de nume de fișiere și directoare care se potrivesc cu wildcard. Deci, va afișa conținutul tuturor elementelor enumerate, adică numele unui fișier sau conținutul unui folder. În MS-DOS, metacaracterele ar provoca dir se comandă să filtreze lista pentru a lista numai numele care se potrivesc cu caracterul joker.

Pentru a filtra rezultatul ls, de exemplu, pentru a vedea numai numele fișierelor și folderelor care se potrivesc f*, utilizare grep, adică direcționați ieșirea lui ls în grep ca:

ls | grep ^f.*

^ și .* sunt expresii regulate. ^f mijloace: f dar numai de la început. .* mijloace . orice personaj * orice număr de ori.

Tom avatar
drapel au
Tom
Multumesc pentru raspuns. Nu știu de ce asta nu a fost niciodată o problemă pentru mine până acum.

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.