您尚未登录。

#1 2022-08-07 22:04:07

αlpha0x00
会员
注册时间: 2018-06-04
帖子: 19

file 命令不能正确输出中文文件名

使用 file 查看文件名为中文的文件信息时,输出信息的文件名为字符编码值对应的8进制。如下所示:

/t/test$ ls
english.txt  中文.txt
/t/test$ file *.txt
english.txt: empty
\344\270\255\346\226\207.txt:    Unicode text, UTF-8 text
/t/test$ du *.txt
0	english.txt
4	中文.txt

* 附加信息
- file 版本为 5.42,系统也是更新到最新
- locale 为 en_US.UTF-8
- locale-gen 为 en_US.UTF-8, ja_JP.UTF-8, zh_CN.UTF-8


hmm

离线

#2 2022-08-07 22:31:18

依云
会员
所在地: a.k.a. 百合仙子
注册时间: 2011-08-21
帖子: 8,384
个人网站

Re: file 命令不能正确输出中文文件名

向上游报 bug 吧。

离线

#3 2022-08-08 09:33:40

αlpha0x00
会员
注册时间: 2018-06-04
帖子: 19

Re: file 命令不能正确输出中文文件名

依云 说:

向上游报 bug 吧。

好吧


hmm

离线

#4 2022-08-08 16:01:12

卑以自牧
会员
注册时间: 2021-08-23
帖子: 169

Re: file 命令不能正确输出中文文件名

-r, --raw                  don't translate unprintable chars to \ooo
这个参数我这里可以 file -r *


以道观之,物无贵贱;以物观之,自贵而相贱;以俗观之,贵贱不在己。

离线

#5 2022-08-08 16:51:17

依云
会员
所在地: a.k.a. 百合仙子
注册时间: 2011-08-21
帖子: 8,384
个人网站

Re: file 命令不能正确输出中文文件名

原来还有个 -r 参数。但是它是坏的啊:

>>> file -r 中文
中: empty

另外汉字哪里不能打印了……

离线

#6 2022-08-08 17:00:29

浩亮
会员
注册时间: 2017-03-07
帖子: 18

Re: file 命令不能正确输出中文文件名

这个 -r 有趣,就跟 vim 的 `getpos("'>")` 一样,不支持多字节字符

离线

#7 2022-08-09 08:31:28

KirisameMarisa
会员
注册时间: 2022-01-30
帖子: 63

Re: file 命令不能正确输出中文文件名

我这没问题


霧雨 魔理沙です。

离线

#8 2022-08-10 16:06:26

依云
会员
所在地: a.k.a. 百合仙子
注册时间: 2011-08-21
帖子: 8,384
个人网站

Re: file 命令不能正确输出中文文件名

已经有人报了个 bug: https://bugs.astron.com/view.php?id=375

离线

#9 2022-08-14 15:06:48

nibazshab
会员
注册时间: 2022-02-04
帖子: 137

Re: file 命令不能正确输出中文文件名

我这也是

~ » file 哈哈哈.txt                                                                              phhbjs@hasee
\345\223\210\345\223\210\345\223\210.: empty
--------------------------------------------------------------------------------------------------------------
~ » file 哈哈哈.txt -r                                                                           phhbjs@hasee
哈哈哈.: empty

离线

页脚