Jak nazwać plik, aby był pierwszym w Nautilusie?

16

Nowe wersje Nautilusa są fajne, ponieważ pomijają niealfanumeryczne litery na początku dowolnej nazwy pliku i sortują pliki według pierwszej litery alfanumerycznej (jeśli istnieje). Ale jak nazwać plik, aby go posortować wcześniej 0? Załóżmy, że mam folder z tymi plikami:

0apple.conf
apricot.xml
banana
camel.so
cat.py
dog.tar.bz

i chcę dodać jedno- lub dwuliterowy przedrostek cat.py, aby posortować go przed 0apple.confplikiem. Nie chcę zmieniać nazwy, po prostu dodaj prefiks. Nie chcę też zmieniać nazwisk innych osób. Próbowałem już:

  1. #cat.pya .cat.pynazwy i prefiksy greckiego alfabetu sortują plik do końca (po dog.tar.bzpliku; .zmienia także widoczność)
  2. dowolny z ,-";:-–\_(?)*+%=<>!prefiksów sortuje plik pomiędzy camel.soi dog.tar.bz(jak bez żadnego prefiksu).

Tak, istnieje możliwość dodania większej liczby zer, aby były na początku, ale chcę, aby nazwa pliku była jak najkrótsza i na pierwszej pozycji.

PS: Mój język czeski (dlatego sortowania powinno być coś podobnego cs, cz, czechlub cs_CZ).

aleskva
źródło
@Aurigae przepraszam, ale nie są one powiązane, sortują je tylko w ls, ale nie w Nautilus
aleskva
i +0cat.py?
Sylvain Pineau
Nie, wciąż nie pierwszy
aleskva
Jedną odpowiedź można znaleźć pod tym linkiem: Przewodnik Nautilus pod nagłówkiem „Nautilus Sort”. Jest to sposób na zmianę sposobu, w jaki Nautilus obsługuje znaki specjalne podczas sortowania nazw plików.
bashBedlam

Odpowiedzi:

7

Prefiks 0już powoduje, że plik ma być sortowany na początku w Nautilusie. Co może pojawić się przed pierwszym plikiem? Żadne pliki nie mogą, oprócz katalogów. Dzieje się tak niezależnie od używanych ustawień regionalnych.

Nazewnictwo plików

W poniższym przykładzie najpierw utworzyłem pusty plik tekstowy o nazwie, apple.txta następnie wykonałem wiele kopii i zmieniłem nazwę każdego z tych plików, dodając prefiks jednoznakowy. Użyłem tylko najbardziej kompatybilnych znaków alfanumerycznych: 0 A á _ -i (spacji). Oznacza to, że utworzyłem w sumie 7 plików plus katalog o nazwie applereferencyjnej.

Zauważ, że ájest to druga litera czeska, która znajduje się w sekcji tego artykułu na Wikipedii. Pierwsza litera wydaje się być taka sama jak angielska: Ai a.

Sortowanie plików

Jak Nautilus posortuje te pliki w różnych środowiskach regionalnych? Okazuje się, że jest podobny, ale nieco inny. Porównaj poniższy zrzut ekranu.

Nautilus w środowisku angielskim i czeskim

Nautilus posortował pliki w środowisku angielskim w en_US.UTF-8następujący sposób:

apple <-- directory
0apple.txt
Aapple.txt
áapple.txt
apple.txt <-- original file without prefix
 apple.txt
_apple.txt
-apple.txt

Nautilus posortował pliki w czeskim środowisku w cs_CZ.UTF-8następujący sposób:

apple <-- directory
0apple.txt
Aapple.txt
áapple.txt
 apple.txt
apple.txt <-- original file without prefix
-apple.txt
_apple.txt

W obu lokalizacjach nie ma zmiany kolejności katalogów i 3 najlepszych plików podczas przeglądania jako lista w Nautilusie. To już pokazuje, że wcześniej nie może występować żaden znak alfanumeryczny 0apple.txt.

Obejście 1

Jednym ze sposobów jest tworzenie plików o nazwie innej niż istniejące „jabłko” z tym samym prefiksem, 0który poprzedza istniejący. Tworzenie 0aaa.txtnastąpi przed 0apple.txti tak dalej.

Za pomocą tego obejścia pliki są sortowane w następujący sposób:

0.txt
0a.txt
0aaa.txt
0apple.txt
...

W ten sposób plik 0.txtbyłby pierwszym plikiem pojawiającym się w Nautilusie. Żadne inne pliki nie mogą być wcześniej 0.txt, chyba że użytkownik chce utworzyć nazwę pliku .txt(używając tylko spacji).

Obejście 2

Powiedzmy, że jeśli applejest to już pierwszy plik, który może istnieć, a użytkownik nalega, aby nie zmieniać jego nazwy apple, istnieje inny sposób: Zmień nazwę istniejącego pliku z prefiksem o większej liczbie od 0apple.txtdo 9apple.txt. Pozwoli to inne pliki o niższej prefiks 0*do 8*stawienia przed 9apple.txt.

Za pomocą tego obejścia pliki są sortowane w następujący sposób:

0mango.txt
1kiwi.txt
2orange.txt
...
9apple.txt
...

Obejście 2 jest nieodpowiednie, jeśli z 0apple.txtjakiegokolwiek powodu nie można zmienić nazwy całości. Obejście 1 będzie bardziej skuteczne, ponieważ 0.txtzawsze pojawi się przed 0mango.txtinnymi nazwami plików, o których użytkownik może pomyśleć.

Jak testowałem?

W moich testach zainstalowano tylko niezbędne pakiety regionalne, aby przygotować czeskie środowisko do uruchamiania Nautilus w Ubuntu. Szybki sposób uruchamiania programu w innym języku przez LANG=<LOCALENAME> nautiluspolecenie nie działał. Dlatego następujące kroki.

  • Zainstaluj te pakiety language-pack-gnome-cs language-pack-gnome-cs-base language-pack-cs language-pack-cs-baseza pośrednictwem APT w terminalu

  • Przejdź do Ustawienia systemu> Język i wsparcie

  • W opcji Język - Język menu i okien przeciągnij pozycję o nazwie čeština(słowo „czeski” odnotowane przez Wikipedię ) powyżejEnglish

  • Wyloguj się i zaloguj ponownie, aby zastosować

Testowane przy użyciu Nautilus 3.14.3 w Ubuntu 16.04 LTS (Live).

TL; DR Nazwa 0pliku z prefiksem tworzy pierwszy plik w Nautilusie. Żadne inne pliki, z wyjątkiem katalogów, nie mogą pojawić się przed pierwszym plikiem.

clearkimura
źródło
Jeśli chodzi o szaleństwo w sortowaniu Nautilusa i brak szacunku wobec zmiennych środowiskowych, zapoznaj się z tym starszym postem .
clearkimura
1
Jako rodowity Czech, muszę cię poprawić: Álub ájest drugą literą w czeskim alfabecie po Alub a. Spójrz na lewą kolumnę w połączonej tabeli Wikipedii. Prawa kolumna to pisownia litery w lewej kolumnie.
Melebius
@ Melebius odpowiednio poprawione. Mój zły, źle odczytałem kolumnę „Nazwa” zamiast „Litera” w tabeli.
clearkimura
Inną rzeczą jest to, że drobne Álub ánie jest taka sama jak Alub a. Ale odpowiedziałeś na większość mojego pytania, dzięki
aleskva
Chciałem użyć litery z Czech, która może zastąpić typowe litery rzymskie, a nawet cyfry, ale źle odczytałem tabelę na Wikipedii. Wstydzę się mojego głupiego błędu ... Nie próbowałem jednak z innymi lokacjami.
clearkimura
2

Czy próbowałeś spacji zero jako prefiksu?

[0cat.py]

Inne postacie, o których wspomniałeś, też mi nie działają, ale spacja zero działa dobrze.

Możesz także wypróbować inne kombinacje znaków przestrzennych i zera, na przykład: -0cat.pay, _0cat.py itd., One również powinny działać.

Ravexina
źródło
Fajnie, ale czy to dobrze, jeśli chcę pracować z tym plikiem przy użyciu terminala?
aleskva
Myślę, że powinienem zakodować nazwę pliku, a autouzupełnianie nie zadziałałoby, co nie jest takie wygodne.
aleskva
Nie mogę również zmienić nazwy żadnego pliku na tę nazwę w Nautilusie (mogę to zrobić tylko z terminalem), co również nie jest tak wygodne.
aleskva
2
Wypróbuj inną kombinację znaków przestrzennych i zera, na przykład -0cat.py lub! 0cat.py lub cokolwiek innego, one też powinny działać. Zredagowałem swoją odpowiedź.
Ravexina
Dla mnie nie, 00apple.conf jest jeszcze przed -0cat.py: /
aleskva
0

Mam sukces w nazywaniu plików za pomocą przedrostka aa. Powiedzmy, że oryginalna nazwa pliku to info.txt - nazwa to aa.info.txt. Można to rozszerzyć o „aaa”. lub „bb.” itp. Unikałbym specjalnych znaków i spacji, z których niektóre mogłyby komplikować składanie skryptów.

zrozumiałem
źródło
To nie odpowiada na pytanie PO.
edwinksl
Co powiesz na jego exampe aa.00apple.conf?
Roger
Co z 000apple.conf?
userDepth
Złą rzeczą jest to, że 00apple jest po 0apple i jeśli dodasz kolejne zera, nie będziesz na początku
aleskva