web-dev-qa-db-ja.com

Nautilusで最初のファイルに名前を付ける方法は?

Nautilusの新しいバージョンは、ファイル名の先頭にある英数字以外の文字をスキップし、最初の英数字(ある場合)に従ってファイルをソートするため、クールです。しかし、0の前にファイルをソートするためにファイルに名前を付ける方法は?これらのファイルを含むフォルダーがあると仮定します。

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

cat.pyファイルの前に並べ替えるために、0Apple.confに1文字または2文字のプレフィックスを追加します。名前を変更するのではなく、プレフィックスを追加するだけです。また、他人の名前を変更したくありません。私はすでに試しました:

  1. #cat.pyおよび.cat.pyの名前とギリシャ語のアルファベットの接頭辞は、ファイルを最後にソートします(dog.tar.bzファイルの後。.は可視性も変更します)
  2. ,-";:-–\_(?)*+%=<>!プレフィックスのいずれかは、camel.sodog.tar.bzの間でファイルをソートします(プレフィックスなしなど)。

はい、先頭近くにゼロを追加するオプションがありますが、ファイル名はできるだけ短く、最初の位置に配置する必要があります。

PS:私の言語はチェコ語です(したがって、照合はcsczczech、またはcs_CZのようなものでなければなりません)。

16
aleskva

接頭辞0は、すでにファイルをNautilusで最初にソートするようにしています。最初のファイルの前に何が来ることができますか?ディレクトリ以外のファイルはできません。これは、使用中のロケールに関係なく当てはまります。

ファイルの命名

次の例では、最初にApple.txtという名前の空のテキストファイルを作成してから、複数のコピーを作成し、単一の文字プレフィックスを追加して各ファイルの名前を変更します。 0 A á _ -および(スペース)という互換性のある英数字のみを使用しました。これは、合計7つのファイルと、参照用にAppleという名前のディレクトリを作成したことを意味します。

áはチェコ語の2番目の文字であり、Wikipediaの この記事のセクション に記載されています。最初の文字は英語と同じように見えます:Aおよびa

ファイルの並べ替え

Nautilusは、異なるロケール環境でこれらのファイルをどのようにソートしますか?似ているが、わずかに異なることがわかります。比較のために次のスクリーンショットを参照してください。

Nautilus in English and Czech environment

英語環境のNautilusソートファイルen_US.UTF-8は次のようになります。

Apple <-- directory
0Apple.txt
Aapple.txt
áApple.txt
Apple.txt <-- original file without prefix
 Apple.txt
_Apple.txt
-Apple.txt

Nautilusはチェコ環境でファイルをソートしましたcs_CZ.UTF-8このように:

Apple <-- directory
0Apple.txt
Aapple.txt
áApple.txt
 Apple.txt
Apple.txt <-- original file without prefix
-Apple.txt
_Apple.txt

どちらのロケールでも、Nautilusでリストとして表示するときに、ディレクトリと上位3ファイルの順序に変更はありません。これは、0Apple.txtの前に英数字を使用できないことをすでに示しています。

回避策1

1つの方法は、既存の「Apple」以外の名前で、既存のプレフィックスに先行する同じプレフィックス0を持つファイルを作成することです。 0aaa.txtの作成は0Apple.txtなどの前に続きます。

この回避策を使用すると、ファイルは次のようにソートされます。

0.txt
0a.txt
0aaa.txt
0Apple.txt
...

この方法では、ファイル0.txtがNautilusに表示される最初のファイルになります。ユーザーがファイル名0.txt(スペース文字のみを使用)を作成する場合を除き、.txtの前に他のファイルを置くことはできません。

回避策2

Appleがすでに存在できる最初のファイルであり、ユーザーがnotAppleの名前を変更することを要求している場合、別の方法があります。 0Apple.txtから9Apple.txtの上位のプレフィックス。これにより、0*8*の前にある数字プレフィックスが小さい他のファイルが9Apple.txtの前に表示されます。

この回避策を使用すると、ファイルは次のようにソートされます。

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

何らかの理由で0Apple.txt全体の名前を変更できない場合、回避策2は不適切です。 0.txtは常に0mango.txtまたはユーザーが考えることができる他のファイル名の前に表示されるため、回避策1はより効果的です。

どうやってテストしたの

私のテストでは、UbuntuでNautilusを実行するためのチェコ環境を準備するために、重要なロケールパッケージのみがインストールされました。 LANG=<LOCALENAME> nautilusコマンドによって他のロケールでプログラムを実行する簡単な方法は機能しませんでした。したがって、次の手順を実行します。

  • ターミナルのAPTを介してこれらのパッケージをインストールしますlanguage-pack-gnome-cs language-pack-gnome-cs-base language-pack-cs language-pack-cs-base

  • システム設定>言語とサポートに移動します

  • Language-メニューとウィンドウの言語で、čeština(「チェコ語」 というWikipediaの言葉)という名前のエントリをドラッグします )上記へEnglish

  • ログアウトしてから再度ログインして有効にします

Ubuntu 16.04 LTS(ライブ)でNautilus 3.14.3を使用してテストしました。

TL; DRプレフィックス0のファイル名は、Nautilusで最初のファイルを作成します。ディレクトリ以外のファイルは、最初のファイルの前に表示できません。

7
clearkimura

プレフィックスとしてスペースゼロを試しましたか?

[0cat.py]

あなたが言及した他のキャラクターも私には機能しませんが、スペースゼロはうまく機能します。

また、空間文字とゼロの他の組み合わせを試すこともできます。たとえば、-0cat.pay、_0cat.pyなどです。これらも機能するはずです。

2
Ravexina

プレフィックスaaを使用してファイルに名前を付けることに成功しています。元のファイル名がinfo.txtであるとします-名前はaa.info.txtになります。これを「aaa」で拡張できます。または「bb」。等。特殊な文字やスペースは避けたいと思います。そのいくつかは、スクリプトの構成を非常に複雑にする可能性があります。

0
Roger