[英]Bash: cat file with utf8 characters in filename
我正在编写自己的bash脚本,但文件名中的UTF8字符有一些麻烦。
我的文件名为: ../ahh/Nový textový dokument.txt
我收到此错误:
cat: '"../ahh/Nov\303\275 textov\303\275 dokument.txt"': No such file or directory
对于其他人来说,脚本工作正常。
我的bash脚本片段:
git status -su | tr \\r \\n | while read -r line ;
do
FILE=$(echo "$line" | awk '{$1 = ""; print substr($0,2)}')
cat "$FILE"
done
如果执行git status
或git ls-files
,则可能会得到类似以下内容的信息:
$ git status
A "Nov\303\275 textov\303\275 dokument.txt"
这是因为默认情况下git
以带引号的八进制表示法打印非ASCII文件名,可以使用以下命令禁用当前存储库的文件名:
git config core.quotepath off
然后:
$ git status -s
A "Nový textový dokument.txt"
检查此答案以获取更多详细信息: https : //stackoverflow.com/a/22828826/1135424
声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.