ls -I*.tex -I*.aux
oder
ls --hide=*.tex --hide=*.aux
Wie kannst du ls
sonst noch die Dateien *{.tex, .aux}
?
Ich renne erfolglos
ls -I".tex"
ls -I*.tex -I*.aux
oder
ls --hide=*.tex --hide=*.aux
Wenn Sie bash verwenden und die extglob
Shell-Option gesetzt haben (was normalerweise der Fall ist):
ls !(*.tex|*.aux)
Dank der Antwort von @sth habe ich endlich einen ls
Befehl gefunden, der mit einem Präfix-Auswahlmuster funktioniert (dort funktioniert die Option zum Ausblenden nicht). Erwägen:
touch MyDocument{.aux,.auxlock,.bbl,.bcf,.blg,.log,.out,.pgf-plot.gnuplot,.run.xml,.tex,.toc} touch YourDocument{.aux,.auxlock,.bbl,.bcf,.blg,.log,.out,.pgf-plot.gnuplot,.run.xml,.tex,.toc} ls # list all # MyDocument.aux YourDocument.aux # MyDocument.auxlock YourDocument.auxlock # MyDocument.bbl YourDocument.bbl # MyDocument.bcf YourDocument.bcf # MyDocument.blg YourDocument.blg # MyDocument.log YourDocument.log # MyDocument.out YourDocument.out # MyDocument.pgf-plot.gnuplot YourDocument.pgf-plot.gnuplot # MyDocument.run.xml YourDocument.run.xml # MyDocument.tex YourDocument.tex # MyDocument.toc YourDocument.toc ls MyDocument.* # prefix search glob only, works fine # MyDocument.aux MyDocument.bcf MyDocument.out MyDocument.tex # MyDocument.auxlock MyDocument.blg MyDocument.pgf-plot.gnuplot MyDocument.toc # MyDocument.bbl MyDocument.log MyDocument.run.xml ls --hide='*.tex' # works if no search glob is used # MyDocument.aux MyDocument.pgf-plot.gnuplot YourDocument.blg # MyDocument.auxlock MyDocument.run.xml YourDocument.log # MyDocument.bbl MyDocument.toc YourDocument.out # MyDocument.bcf YourDocument.aux YourDocument.pgf-plot.gnuplot # MyDocument.blg YourDocument.auxlock YourDocument.run.xml # MyDocument.log YourDocument.bbl YourDocument.toc # MyDocument.out YourDocument.bcf ls --hide='*.tex' MyDocument.* # does NOT work with prefix glob! # MyDocument.aux MyDocument.bcf MyDocument.out MyDocument.tex # MyDocument.auxlock MyDocument.blg MyDocument.pgf-plot.gnuplot MyDocument.toc # MyDocument.bbl MyDocument.log MyDocument.run.xml ls MyDocument!(.tex|.aux) # works with (FULL!) prefix # MyDocument.auxlock MyDocument.blg MyDocument.pgf-plot.gnuplot # MyDocument.bbl MyDocument.log MyDocument.run.xml # MyDocument.bcf MyDocument.out MyDocument.toc ls MyDocu*!(.tex|.aux) # does NOT work w/ partial prefix # if * pattern does not terminate (is last before !) # MyDocument.aux MyDocument.bcf MyDocument.out MyDocument.tex # MyDocument.auxlock MyDocument.blg MyDocument.pgf-plot.gnuplot MyDocument.toc # MyDocument.bbl MyDocument.log MyDocument.run.xml ls MyDocu*.!(tex|aux) # does work w/ partial prefix, if * pattern terminates # (here termination is with dot . coming before ! ) # MyDocument.auxlock MyDocument.blg MyDocument.pgf-plot.gnuplot # MyDocument.bbl MyDocument.log MyDocument.run.xml # MyDocument.bcf MyDocument.out MyDocument.toc
Die Antwort für diesen Fall ist also zu verwenden ls PREFIX*.!(ext1|ext2)
, oder mit anderen Worten: "Listen Sie Dateien auf, die mit" PREFIX "beginnen und alle Zeichen bis zu einem Punkt". ", Der nicht von ext1 oder ext2 gefolgt wird."
Sie können verwenden:
ls | grep -v *.tex | grep -v *.aux
Wenn Sie zsh mit der Option EXTENDED_GLOB verwenden, legen Sie Folgendes fest:
pattern~negpattern
Wobei "Muster" das ist, was Sie anpassen möchten, mit Ausnahme von "Negpattern".
Beispiel:
ls -d *~*.mp3
listet alle Dateien in Ihrer cwd auf, mit Ausnahme der Dateien, die auf ".mp3" enden.
Wenn Sie zsh nicht verwenden, probieren Sie es aus, diese Art der intelligenten Erweiterung ist überall vorhanden.