如何从 Nano 中删除回车符?

如何从 Nano 中删除回车符?

我将一些内容从 Windows 复制到 Nano西弗吉尼亚海岸并且它包含回车符(CR 字符)。尽管我用文本编辑器(Notepad++)删除了所有回车符,但复制后仍然会添加这些回车符,可能是 Windows 自己添加的 - 窗口越窄,Windows 添加的回车符就越多。

在此处输入图片描述

我的问题:

如何CTRL+\在 Nano 中的查找和替换()操作中删除所有回车符?

更新1:

如果我粘贴脚本并保存(CTRL + O),则不会有任何变化(我确保在保存时,dos 模式已关闭)。

更新2:

执行dos2unix文件没有帮助 - 它仍然包含这些绿色框,目前我只能手动删除它们(当然不是解决方案)。我知道有回车符,因为如果我将文件复制回 Notepad++,我会看到它们显示为 CR 字符,当我这样做时View > Show symbol > Show all characters

答案1

这似乎没有必要。

$ echo -e 'foo\rbar\r\n' > nano
$ cat -A nano
foo^Mbar^M$
$
$ nano nano

在此处输入图片描述

Ctrl我除了输入+O并按下enter保存文件,然后按下Ctrl+X退出之外什么也没做......

$ cat -A nano
foo$
bar$
$

因此显然只需在 Ubuntu 上打开一个文件并将其保存nano就足以破坏回车符。

答案2

绿色单元格不是回车尾随空格,其定义/usr/share/nano/sh.nanorc如下:

# Trailing whitespace.
color ,green "[[:space:]]+$"

因此,可以通过在 中执行以下操作,将正则表达式[[:space:]]+$\s+$或替换为“无”来删除:+$nano

  1. Ctrl+\打开“搜索和替换”提示。
  2. Alt+r启用 RegEx 搜索。
  3. 输入[[:space:]]+$\s+$+$并按Enter搜索尾随空格。
  4. 按下Enter可将找到的空格替换为“无”。
  5. 输入A并按Enter以应用于所有出现的空格。

相关内容