Na przykład, jak mogę zreplikować:
ls *.txt
kiedy w moich plikach tekstowych brakuje .txt
końca, a jeśli chodzi o rozszerzenia, pojawiają się tak samo jak wiele innych typów plików?
Alternatywnie, czy jest możliwe wyszczególnienie tylko tych plików, które NIE mają rozszerzenia pliku?
command-line
file-format
ls
użytkownik82212
źródło
źródło
grep
można go używać z dowolnym poleceniem.|
Symbol jest używany do przekazywania wyników z jednej komendy do drugiej, igrep
będzie pasował do linii, które mają (lub nie masz) określony tekst. Ale jeśli chcesz zmodyfikować tekst (oprócz drukowania tylko pasujących wierszy), powinieneś rzucić okiem nased
polecenie.ls --classify | grep -v '/'.'*'
Dzięki
ls -ignore="PATTERN"
niemu możesz wykluczyć pliki z wyniku ls.Na przykład,
ls --ignore="*.txt"
aby zignorować pliki txt.źródło
Po prostu zaneguj wzór (uwaga:
shopt -s extglob
jest wymagana).Aby wyświetlić wszystkie pliki bez rozszerzenia:
Aby wyświetlić
txt
pliki inne niż pliki, spróbuj:źródło
Polecenie
ls -SX1|less
zostanie posortowane według rozszerzenia w jednej kolumnie, a pliki bez niego zostaną przeniesione na górę. Przeciąganie przez mniej, jak w przykładzie, jest zalecane dla katalogów zawierających więcej niż kilka plików, aby ograniczyć wyjście do pełnego ekranu na raz.źródło
Wolę unikać używania grep do prostych operacji listowania.
Aby uniknąć używania
grep
,Polecam za pomocą
ls !(*.*)
do wyszukiwania plików bez rozszerzenia pliku ils -I "*.gz" -I "*.tz"
lubls --ignore={"*.jpg","*.png","*.bmp"}
aby wykluczyć określone rozszerzenia plików
źródło