Come nominare un file per essere il primo in Nautilus?


16

Le nuove versioni di Nautilus sono interessanti, perché saltano le lettere non alfanumeriche all'inizio di qualsiasi nome di file e ordinano i file in base alla prima lettera alfanumerica (se presente). Ma come nominare un file per ordinarlo prima 0? Supponiamo di avere una cartella con questi file:

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

e voglio aggiungere un prefisso di una o due lettere al cat.pyper ordinarlo prima del 0apple.conffile. Non voglio cambiare il nome, basta aggiungere un prefisso. Inoltre non voglio cambiare i nomi degli altri. Ho già provato:

  1. #cat.pye .cat.pynomi e prefissi alfabetici greci ordinano il file fino alla fine (dopo il dog.tar.bzfile; .cambia anche la visibilità)
  2. uno qualsiasi dei ,-";:-–\_(?)*+%=<>!prefissi ordina il file tra camel.soe dog.tar.bz(come senza alcun prefisso).

Sì, esiste un'opzione per aggiungere più zeri per essere vicino all'inizio, ma voglio che il nome del file sia il più breve possibile e nella prima posizione.

PS: La mia lingua è il ceco (quindi il confronto dovrebbe essere qualcosa di simile cs, cz, czecho cs_CZ).



@Aurigae scusate, ma questi non sono correlati, li ordinano solo in ls, ma non in Nautilus
aleskva

e +0cat.py?
Sylvain Pineau,

No, ancora non prima
aleskva il

Una risposta può essere trovata a questo link: Guida Nautilus sotto la voce "Nautilus Sort". È un modo per cambiare il modo in cui Nautilus gestisce i caratteri speciali durante l'ordinamento dei nomi dei file.
bashBedlam,

Risposte:


7

Il prefisso 0rende già il file da ordinare per la prima volta in Nautilus. Cosa può venire prima del primo file? Nessun file potrebbe, tranne le directory. Questo è vero indipendentemente dalle impostazioni locali in uso.

Denominazione dei file

Nel seguente esempio, ho prima creato un file di testo vuoto chiamato, apple.txtquindi ho creato più copie e rinominato ciascuno dei file aggiungendo un prefisso a carattere singolo. Ho usato solo i caratteri alfanumerici più compatibili: 0 A á _ -e (spazio). Ciò significa che ho creato 7 file in totale, oltre a una directory denominata applecome riferimento.

Si noti che áè la seconda lettera del ceco, che si trova in questa sezione dell'articolo su Wikipedia. La prima lettera sembra essere la stessa dell'inglese: Ae a.

Ordinamento dei file

In che modo Nautilus ordinerà questi file in diversi ambienti locali? Si scopre che è simile ma leggermente diverso. Vedi il seguente screenshot per il confronto.

Nautilus in ambiente inglese e ceco

Nautilus ha ordinato i file in un ambiente inglese en_US.UTF-8come questo:

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

Nautilus ha ordinato i file in un ambiente ceco cs_CZ.UTF-8come questo:

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

In entrambe le versioni locali, non vi è alcun cambiamento nell'ordine della directory e dei primi 3 file quando si visualizza come elenco in Nautilus. Ciò dimostra già che nessun carattere alfanumerico può apparire prima 0apple.txt.

Soluzione alternativa 1

Un modo è quello di creare file con un nome diverso da "apple" esistente con lo stesso prefisso 0che precede quello esistente. La creazione 0aaa.txtverrà prima 0apple.txte così via.

Utilizzando questa soluzione alternativa, i file vengono ordinati in questo modo:

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

In questo modo, il file 0.txtsarebbe il primo file ad apparire in Nautilus. Nessun altro file può venire prima 0.txt, a meno che l'utente non voglia creare un nome file .txt(usando solo un carattere spazio).

Soluzione alternativa 2

Dire se appleè già il primo file che può esistere e l'utente insiste per non rinominare apple, c'è un altro modo: rinominare il file esistente con prefisso di numero più alto da 0apple.txta 9apple.txt. Ciò consentirà di altri file con il numero più basso di prefisso 0*per 8*comparire davanti 9apple.txt.

Utilizzando questa soluzione alternativa, i file vengono ordinati in questo modo:

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

La soluzione alternativa 2 non è adatta, se l' 0apple.txtintero non può essere rinominato per qualsiasi motivo. La soluzione alternativa 1 sarà più efficace poiché 0.txtapparirà sempre prima 0mango.txto altri nomi di file a cui l'utente può pensare.

Come ho fatto il test

Nei miei test, sono stati installati solo pacchetti locali essenziali per preparare l'ambiente ceco per l'esecuzione di Nautilus in Ubuntu. Il modo rapido per eseguire il programma in altre impostazioni locali tramite LANG=<LOCALENAME> nautiluscomando non funzionava. Quindi, i seguenti passaggi.

  • Installa questi pacchetti language-pack-gnome-cs language-pack-gnome-cs-base language-pack-cs language-pack-cs-basetramite APT nel Terminale

  • Vai su Impostazioni di sistema> Lingua e supporto

  • In Lingua - Lingua per menu e finestre , trascina la voce denominata čeština(parola per "ceco" annotata da Wikipedia ) in altoEnglish

  • Disconnettersi e accedere nuovamente per rendere effettive

Testato utilizzando Nautilus 3.14.3 in Ubuntu 16.04 LTS (Live).

TL; DR Nome file con prefisso 0crea il primo file in Nautilus. Nessun altro file, tranne le directory, può apparire prima del primo file.


Per quanto riguarda la follia del comportamento di smistamento di Nautilus e la mancanza di rispetto nei confronti della variabile ambientale, fare riferimento a questo post precedente .
Clearkimura,

1
Come nativo ceco, devo correggerti: Áo áè la seconda lettera dell'alfabeto ceco dopo Ao a. Guarda la colonna di sinistra nella tabella di Wikipedia collegata. La colonna di destra è l'ortografia della lettera nella colonna di sinistra.
Melebio

@Melebius Corretto di conseguenza. Mio male, avevo letto male nella colonna "Nome" invece di "Lettera" nella tabella.
Clearkimura,

Un'altra cosa minore è che Áo ánon è la stessa di Ao a. Ma hai risposto alla maggior parte della mia domanda, grazie
aleskva,

Intendevo usare una lettera ceca che potesse sostituire le tipiche lettere romane o anche i numeri, ma ho letto male la tabella su Wikipedia. Mi vergogno del mio sciocco errore ... Non ho provato con altre impostazioni locali, però.
Clearkimura,

2

Hai provato lo spazio zero come prefisso?

[0cat.py]

Gli altri personaggi che hai citato non funzionano anche per me, ma lo spazio zero funziona bene.

Puoi anche provare altre combinazioni di caratteri spaziali e zero, cose come: -0cat.pay, _0cat.py, ecc. Dovrebbero funzionare anche queste.


Bene, ma va bene se voglio operare con quel file usando il terminale?
aleskva,

Penso che dovrei codificare il nome file e il completamento automatico non funzionerebbe, il che non è così conveniente.
aleskva,

Inoltre, non riesco a rinominare alcun file con questo nome in Nautilus (posso farlo solo con il terminale), il che non è così conveniente.
aleskva

2
Prova un'altra combinazione di caratteri spaziali e zero, qualcosa come -0cat.py o! 0cat.py o qualsiasi altra cosa, anche questi dovrebbero funzionare. Ho modificato la mia risposta.
Ravexina,

Per me no, 00apple.conf è ancora prima di -0cat.py: /
aleskva,

0

Ho successo con la denominazione dei file utilizzando il prefisso aa. Supponiamo che il nome del file originale sia info.txt, il nome sarebbe aa.info.txt. Si potrebbe estendere questo con "aaa". o "bb". ecc. Eviterei caratteri e spazi speciali, alcuni dei quali potrebbero complicare la composizione degli script.


Ciò non risponde alla domanda del PO.
edwinksl,

Che ne dici, riferendosi al suo esempio, aa.00apple.conf?
Roger,

Che dire di 000apple.conf?
userDepth

La cosa brutta è 00apple è dopo 0apple e se aggiungi un altro zero, non sei all'inizio
aleskva
Utilizzando il nostro sito, riconosci di aver letto e compreso le nostre Informativa sui cookie e Informativa sulla privacy.
Licensed under cc by-sa 3.0 with attribution required.