Nie jestem pewien ls, ale łatwo można zrobić z filepoleceniem: file /directory/containing/the/files -maxdepth 1 -not -type d.
Henning Kockerbeck,
1
Innym sposobem byłoby filtrowanie wyjścia lsprzez grepcoś w rodzaju ls -1F /directory/containing/the/files | grep -vE /$. Należy jednak pamiętać, że analizowanie wyniku ls może być trudne .
Sprawdziłem tę, ponieważ jest to moja ulubiona odpowiedź (podczas gdy ja głosowałem za nimi wszystkimi), ale teraz próbuję znaleźć sposób na umieszczenie jej w kolumnach i odwrócenie kolejności danych wyjściowych ...
thinksinbinary
„Możesz użyć 1 przełącznika do listy pojedynczych kolumn” przepraszam, próbowałem dowiedzieć się, co masz na myśli, doceniłbym i przykład / wyjaśnienie, jeśli tak, wiem tylko, co to jest przełącznik w odniesieniu do programowania w języku C
thinksinbinary
@sdkks Nie potrzebujesz 1przełącznika podczas przesyłania danych wyjściowych, ponieważ w tej sytuacji domyślnie będzie to jedna kolumna. Jeśli o to ci chodziło.
thomasrutter
@ thinksinbinary nie wiem, jak zrobić to wielokolumnowy, ale możesz wyszukać lub zadać własne pytanie, a ktoś będzie wiedział.
thomasrutter
7
Możesz spróbować:
find . -maxdepth 1 -not -type d
I zamapuj to na specjalny alias.
Ale jeśli naprawdę chcesz używać lspolecenia, tutaj:
Widziałem w twoim (@thinksinbinary) komentarzu do odpowiedzi @thomasrutter, że chciałbyś mieć możliwość wydrukowania ich w odwrotnej kolejności i w kolumnach. Prawdopodobnie już to wymyśliłeś lub przeprowadziłeś się, ale oto:
ls -pr | grep -v / | column
-p dodaje ukośnik do przodu ('/') do nazw katalogów
-r odwraca kolejność danych wyjściowych
-v pozwala grepowi wykonać odwrotne wyszukiwanie, aby wydrukować wszystko oprócz katalogów ( wszystko, co nie zawiera „/”, które tam -p )
„ kolumna umieszcza ją w kolumnach” - Captain Obvious
myślę, że to fajnie, że na forum ubuntu ludzie nadal komentują i czytają twoje posty po długim czasie. Chciałem wrócić do Linuksa, aby nauczyć się montażu i systemów operacyjnych, ponieważ robienie tego w systemie Windows jest znacznie trudniejsze. Dzięki!
myśli binarnie
0
ls -F | grep -v /
Powyższe polecenie wyświetla pliki, ale zawiera dowiązania symboliczne, potoki itp. Jeśli chcesz je również wyeliminować, możesz użyć jednej z wymienionych poniżej flag.
ls -Fdołącza symbole do nazw plików. Te symbole pokazują przydatne informacje o plikach.
ls
, ale łatwo można zrobić zfile
poleceniem:file /directory/containing/the/files -maxdepth 1 -not -type d
.ls
przezgrep
coś w rodzajuls -1F /directory/containing/the/files | grep -vE /$
. Należy jednak pamiętać, że analizowanie wyniku ls może być trudne .Odpowiedzi:
Korzystanie
ls -p
nakazujels
dołączyć ukośnik do wpisów, które są katalogiem i używającgrep -v /
mówigrep
wrócić tylko linie nie zawierające ukośnik.źródło
1
przełącznika podczas przesyłania danych wyjściowych, ponieważ w tej sytuacji domyślnie będzie to jedna kolumna. Jeśli o to ci chodziło.Możesz spróbować:
find . -maxdepth 1 -not -type d
I zamapuj to na specjalny alias.
Ale jeśli naprawdę chcesz używać
ls
polecenia, tutaj:ls -p | egrep -v /$
źródło
Alternatywnie:
Ta metoda wymienia w
-l
Format długiej listy-A
Wyświetla prawie wszystkie (pokaż ukryte pliki, ale nie pokazuj.
i..
)-h
Rozmiary plików czytelne dla człowiekapodczas grep
-v
Nie pokazuj pasujących rekordówRegular expression
filtr^d
- te zaczynają się na literę d (dla katalogu), tjdrwxrwxr-x <some file details> <foldername>
Jeśli nie chcesz za każdym razem pisać, możesz zrobić z niego alias swojego profilu bash / shell.
źródło
Widziałem w twoim (@thinksinbinary) komentarzu do odpowiedzi @thomasrutter, że chciałbyś mieć możliwość wydrukowania ich w odwrotnej kolejności i w kolumnach. Prawdopodobnie już to wymyśliłeś lub przeprowadziłeś się, ale oto:
źródło
Powyższe polecenie wyświetla pliki, ale zawiera dowiązania symboliczne, potoki itp. Jeśli chcesz je również wyeliminować, możesz użyć jednej z wymienionych poniżej flag.
ls -F
dołącza symbole do nazw plików. Te symbole pokazują przydatne informacje o plikach.@
oznacza symboliczne łącze (lub że plik ma rozszerzone atrybuty ).*
oznacza plik wykonywalny .=
oznacza gniazdo .|
oznacza nazwaną potok .>
oznacza drzwi ./
oznacza katalog .Powyższe polecenie wyświetla tylko pliki.
źródło