如何命名文件成为Nautilus中的第一个文件?


16

新版本的Nautilus很酷,因为它们会跳过任何文件名开头的非字母数字字母,并根据第一个字母数字字母(如果有)对文件进行排序。但是如何命名文件以便对其进行排序0?假设我有一个包含以下文件的文件夹:

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

我想在之前添加一个或两个字母前缀cat.py,以便在0apple.conf文件之前对其进行排序。我不想更改名称,只需添加前缀即可。我也不想更改别人的名字。我已经尝试过:

  1. #cat.py.cat.py名字和希腊字母前缀排序文件到结束(后 dog.tar.bz文件; .改变也可见)
  2. 任何,-";:-–\_(?)*+%=<>!前缀都会在camel.so和之间对文件进行排序dog.tar.bz(就像没有任何前缀一样)。

是的,有一个选项可以在开头附近添加更多零,但是我希望文件名越短越好,并且位于第一位置。

PS:我的语言是捷克(因此整理应该是这样的csczczechcs_CZ)。



@Aurigae对不起,但是它们没有关联,它们仅以ls而不是Nautilus
对其进行

+0cat.py
西尔文·皮诺

不,仍然不是第一
aleskva

在此链接上可以找到一个答案:《Nautilus指南》标题为“ Nautilus Sort”。这是一种更改Nautilus在对文件名进行排序时处理特殊字符的方式的方法。
bashBedlam '16

Answers:


7

前缀0已经使文件在Nautilus中首先被排序。在第一个文件之前会发生什么?除目录外,没有文件可以。无论使用哪种语言环境,都是如此。

文件命名

在下面的示例中,我首先创建了一个名为的空文本文件,apple.txt然后进行了多次复制,并通过添加单个字符前缀来重命名每个文件。我只使用了大多数兼容的字母数字字符:0 A á _ -(空格)。这意味着我总共创建了7个文件,外加一个apple供参考的目录。

请注意á,这是捷克语的第二个字母,可在Wikipedia的本文部分中找到。第一个字母似乎与英语相同:Aa

文件分类

Nautilus将如何在不同的语言环境中对这些文件进行排序?事实证明它是相似的,但略有不同。请参阅以下屏幕截图进行比较。

Nautilus在英语和捷克语环境中

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

一种方法是使用现有的“ apple”以外的名称创建文件,并在现有文件0之前添加相同的前缀。创造0aaa.txt将在此之前0apple.txt

使用此替代方法,文件的排序如下:

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

这样,该文件0.txt将成为Nautilus中出现的第一个文件。0.txt除非用户要创建文件名.txt(仅使用空格字符),否则其他文件都不能出现。

解决方法2

说,如果apple是已经能够存在,并且用户坚持到第一个文件重命名apple,还有另外一个选择:重命名与高号码前缀现有的文件0apple.txt9apple.txt。这将允许其他文件低于号码前缀0*,以8*之前出现9apple.txt

使用此替代方法,文件的排序如下:

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

如果0apple.txt整体由于某种原因无法重命名,则解决方法2不适用。解决方法1将更有效,因为它0.txt始终出现在0mango.txt用户可以想到的文件名或其他文件名之前。

我如何测试

在我的测试中,仅安装了必要的语言环境软件包才能为在Ubuntu中运行Nautilus的捷克环境做准备。通过LANG=<LOCALENAME> nautilus命令在其他语言环境中运行程序的快速方法无效。因此,以下步骤。

  • language-pack-gnome-cs language-pack-gnome-cs-base language-pack-cs language-pack-cs-base通过终端中的APT 安装这些软件包

  • 转到系统设置>语言和支持

  • 在“ 语言-菜单和窗口的语言”中,将名为čeština维基百科指出的 “捷克语”的单词)条目拖到上方English

  • 注销并再次登录以生效

已在Ubuntu 16.04 LTS(Live)中使用Nautilus 3.14.3进行了测试。

TL; DR文件名带有前缀0,是Nautilus中的第一个文件。除目录外,没有其他文件可以出现在第一个文件之前。


关于鹦鹉螺分类行为的疯狂和对环境变量的不尊重,请参阅此旧文章
clearkimura

1
作为捷克原住民,我必须纠正您的问题:Á或是á捷克字母中第二个字母,位于A或之后a。查看链接的Wikipedia表中的左列。右列是左列中字母的拼写。
Melebius

@Melebius进行了相应的更正。不好,我在表的“名称”列而不是“字母”中读错了。
clearkimura

另一个小问题是ÁáA或不同a。但是您回答了我的大部分问题,谢谢
aleskva 2016年

我原本打算使用捷克语写的字母,该字母可能会取代典型的罗马字母甚至数字,但我在Wikipedia上读错了表格。我为自己的愚蠢错误感到as愧...不过,我还没有尝试过其他语言环境。
clearkimura

2

您是否尝试过将零作为前缀?

[0cat.py]

您提到的其他字符对我也不起作用,但空格为零的效果很好。

您还可以尝试使用空格字符和零的其他组合,例如-0cat.pay,_0cat.py等,这些也应该起作用。


很酷,但是如果我想使用终端对该文件进行操作,这很好吗?
aleskva

我想我应该对文件名进行编码,并且自动完成功能不起作用,这不太方便。
aleskva

我也无法在Nautilus中将任何文件重命名为该文件名(我只能使用终端才能做到这一点),这也不太方便。
aleskva

2
尝试使用其他字符和零的组合,例如-0cat.py或!0cat.py或其他任何字符,这些字符也应该起作用。我编辑了答案。
Ravexina

对我而言,00apple.conf仍在-0cat.py之前:/
aleskva

0

我成功使用前缀aa命名文件。假设原始文件名为info.txt-名称为aa.info.txt。可以将其扩展为“ aaa”。或“ bb”。等。我会避免使用特殊字符和空格,其中某些字符和空格会使脚本的编写变得过于复杂。


这不能回答OP的问题。
edwinksl

参照他的样本aa.00apple.conf怎么样?
罗杰(Roger)2013年

那000apple.conf呢?
userDepth

不好的是00apple在0apple之后,如果您添加另一个零,您就不会在开头
aleskva 2016年
By using our site, you acknowledge that you have read and understand our Cookie Policy and Privacy Policy.
Licensed under cc by-sa 3.0 with attribution required.