Ich benutze den Befehl
ls -a | grep '^\.'
zum Anzeigen nur der versteckten Dateien. Ich habe die Zeile hinzugefügt
alias hidden='ls -a | grep '^\.'' # show only hidden files
zu .bash_aliases
archivieren
aber das geht nicht. Es ist wahrscheinlich das Problem mit dem '
Charakter.
Könnten Sie mir bitte helfen, den richtigen Alias zu schreiben?
'ls -a | grep '"'"'^\.'"'"'
Es sieht schrecklich aus (und für dieses Beispiel ist es völlig unnötig, weil Sie einfach doppelte Anführungszeichen für eines der Paare austauschen können), aber in sehr seltenen Fällen ist es nützlich. Möglicherweise möchten Sie auch ein-C
Flag (Mehrspaltenausgabe erzwingen). Siehe dieses Bild imgur.com/a/VIVFPAntworten:
Machen Sie entweder das innere Anführungszeichenpaar in doppelte Anführungszeichen:
Oder machen Sie das äußere Paar von Anführungszeichen in doppelte Anführungszeichen:
Oder machen Sie alle Anführungszeichen in doppelte Anführungszeichen und verlassen Sie das innere Paar:
Oder machen Sie es zu einer Funktion, damit Sie beim Aufruf einige Argumente übergeben können:
quelle
Lassen Sie die Shell die Punktedateien auflisten und sagen Sie
ls
, dass Sie die Verzeichnisse nicht durchsehen sollen:quelle
grep
-basierten Ansatz eine mehrspaltige Auflistung möglich ist .ls -d .* | grep -v '^d'
oder (nur zsh)print -lr .*(.)
ODER
So erstellen Sie einen Alias desselben:
ODER
Das Gleiche könnte über den Befehl grep und den Pipe-Operator geschehen. es würde jedoch die Farbe und die Formatierung verlieren:
ODER
Via Alias:
quelle
Sie können doppelte Anführungszeichen verwenden:
oder verketten Sie mehrere Zeichenfolgen in Anführungszeichen
oder entfernen Sie alle internen Anführungszeichen
quelle
Für die Aufzeichnung scheint dies bei mir nicht zu funktionieren, da
ls -a
zwei (manchmal mehr Spalten) gedruckt werden. Ich würde empfehlen, die-1
Option zu verwenden, um sicherzustellen, dass sich jede Datei in einer eigenen Zeile befindet. Etwas wie das:quelle
ls -a | cat
es noch auf 2 Spalten auszugeben. Ich sollte erwähnen, dass ich Solaris verwende und nicht die GNU ls. Vielleicht deshalb. In allen Fällen hat Ihre-1
Lösung einwandfrei funktioniert und ist viel eleganter als meine hackische Problemumgehung. Ich aktualisiere meine Antwort.Machen Sie es etwas komplizierter, aber vermeiden Sie das Parsen
ls
.Die Zwei-Shell-Funktion wird verwendet
find
, um eine Liste aller versteckten regulären Dateien im aktuellen Verzeichnis oder in dem in der Befehlszeile angegebenen Verzeichnis zu erstellen.Die
llsh
Funktion erzeugt eine "lange Auflistung", die nur geringfügig ausführlicher ist alsls -l
, währendlsh
eine einspaltige Auflistung wie erzeugt wirdls -1
.quelle
ODER
quelle
quelle
ls
Unterstützt Ihr -A? Vonman ls
:quelle
only
versteckte Dateien.ls -A -1 -d -F .* | egrep -v '/$'
Geben Sie einfach den folgenden Befehl ein und verwechseln Sie ihn nicht mit dem oben erläuterten.
quelle
ls
Flags und deregrep
Befehl die Frage beantworten.quelle