AskOverflow.Dev

AskOverflow.Dev Logo AskOverflow.Dev Logo

AskOverflow.Dev Navigation

  • 主页
  • 系统&网络
  • Ubuntu
  • Unix
  • DBA
  • Computer
  • Coding
  • LangChain

Mobile menu

Close
  • 主页
  • 系统&网络
    • 最新
    • 热门
    • 标签
  • Ubuntu
    • 最新
    • 热门
    • 标签
  • Unix
    • 最新
    • 标签
  • DBA
    • 最新
    • 标签
  • Computer
    • 最新
    • 标签
  • Coding
    • 最新
    • 标签
主页 / ubuntu / 问题 / 1329387
Accepted
user1200336
user1200336
Asked: 2021-04-06 05:37:27 +0800 CST2021-04-06 05:37:27 +0800 CST 2021-04-06 05:37:27 +0800 CST

使用 Gedit 时如何去除纯文本文件中的无效字符?

  • 772

问题

Gedit 说我的一个使用 UTF-8 编码的文件包含无效字符,如果我继续使用它可能会损坏。

细节

有问题的文件是我的 Someday/Maybe List。我通常会在其中添加指向我想阅读的资源的链接,例如博客文章。我怀疑我添加的其中一个来源的链接包含无效字符,导致了我的问题。

我发现这里需要运行 isutf8,然后使用 xxd 或 hexdump 来扫描文件中的无效字符。运行 isutf8 是没有意义的,因为如果这个页面是正确的,它所做的只是告诉你文件是否包含无效字符。我已经阅读了一些关于 xxd 的联机帮助页,以及关于 hexdump 的其他资源,但我什么都不懂。

我试过的

不多。我担心如果我编辑它可能会破坏文件或其他东西,所以我保持不变。此外,我的研究能力很差,所以我自己也找不到解决办法。

gedit
  • 2 2 个回答
  • 691 Views

2 个回答

  • Voted
  1. Best Answer
    vanadium
    2021-04-06T06:39:58+08:002021-04-06T06:39:58+08:00

    如果您专门使用 Gedit 编辑文件,原则上不会发生这种情况。这种情况下的字符将自动转换为当前文本文件的字符代码。

    如果由于某种原因会引入错误编码的字符,那么找出它们在哪里的一种方法是使用

    grep -axv '.*' file.txt
    

    (信用在这里)。该命令将仅显示包含无效字符的行。为方便识别线路,您可以添加-n显示线路编号的选项。

    然后在 Gedit 中打开文件,继续给出的警告消息。然后,您可以编辑出错误的字符。保存并关闭,然后重新打开文件。如果不再发出警告,则所有错误字符都已删除。

    • 0
  2. John99
    2021-04-06T07:02:07+08:002021-04-06T07:02:07+08:00

    运气好[如果这样的文件仅用于在 gedit 或类似的文本查看器中读取,您将得到的只是一个或多个无法有意义显示的无法识别字符]

    如果您只有一个最近的更改导致问题,那么这一切都非常简单。

    对当前文件和 gedit 可能为您创建的自动备份进行多次备份。复制和备份文件的方法有很多种,其中很多都可以自动化,但现在最简单的方法是注意,如果文件位于另一个目录文件夹或设备中,Linux 将允许您拥有同名文件。因此,也许创建子文件夹,也许将它们命名为 usenow1 backup1 & backup2 并将文件复制到每个文件夹中。

    注意 gedit 允许自动备份首选项 > 编辑器 > [x] 在保存之前创建备份文件。

    如果打开了,您将已经自动保存了一个备份文件,它将具有相同的名称和位置,但将以 swan-dash ~ 字符结尾。如果您有这样的文件,请同时制作多个副本。

    您现在可以使用其中一个副本,确信您不会破坏任何尚未破坏的东西,并且您有备份。如果您在第一次被警告后关闭,则文件结尾的 swandash 可以证明是可以的。将其重命名为文件名,并在 .txt 之前添加 v02 并删除末尾的 ~ 。用 gedit 打开它,你应该有一个未损坏文件的副本。

    现在,如果您使用某些命令行工具,或者您可能更喜欢 GUI,请尝试融合或其他东西,您可以比较损坏的文件和您拥有的文件,并整理出您想要保留的内容和想要删除的内容。

    您可能有兴趣使用 iconv 检查您的文件,请参阅https://www.debian.org/doc/manuals/debian-reference/ch11.en.html#_checking_file_to_be_utf_8_with_iconv

    另请注意,如果您使用另存为 gedit 可能会提供其他编码选项,并且其中一个可能适合您新添加的信息。

    • 0

相关问题

  • gedit 有代码折叠吗?

  • 键入 C++ 时在 Gedit 中更改“字符串”的颜色

  • 真正的列模式(块选择和编辑)文本编辑器解决方案?

  • 支持 gedit 中的各种功能

  • Gedit 中是否支持拆分窗格?

Sidebar

Stats

  • 问题 205573
  • 回答 270741
  • 最佳答案 135370
  • 用户 68524
  • 热门
  • 回答
  • Marko Smith

    如何运行 .sh 脚本?

    • 16 个回答
  • Marko Smith

    如何安装 .tar.gz(或 .tar.bz2)文件?

    • 14 个回答
  • Marko Smith

    如何列出所有已安装的软件包

    • 24 个回答
  • Marko Smith

    无法锁定管理目录 (/var/lib/dpkg/) 是另一个进程在使用它吗?

    • 25 个回答
  • Martin Hope
    Flimm 如何在没有 sudo 的情况下使用 docker? 2014-06-07 00:17:43 +0800 CST
  • Martin Hope
    Ivan 如何列出所有已安装的软件包 2010-12-17 18:08:49 +0800 CST
  • Martin Hope
    La Ode Adam Saputra 无法锁定管理目录 (/var/lib/dpkg/) 是另一个进程在使用它吗? 2010-11-30 18:12:48 +0800 CST
  • Martin Hope
    David Barry 如何从命令行确定目录(文件夹)的总大小? 2010-08-06 10:20:23 +0800 CST
  • Martin Hope
    jfoucher “以下软件包已被保留:”为什么以及如何解决? 2010-08-01 13:59:22 +0800 CST
  • Martin Hope
    David Ashford 如何删除 PPA? 2010-07-30 01:09:42 +0800 CST

热门标签

10.10 10.04 gnome networking server command-line package-management software-recommendation sound xorg

Explore

  • 主页
  • 问题
    • 最新
    • 热门
  • 标签
  • 帮助

Footer

AskOverflow.Dev

关于我们

  • 关于我们
  • 联系我们

Legal Stuff

  • Privacy Policy

Language

  • Pt
  • Server
  • Unix

© 2023 AskOverflow.DEV All Rights Reserve