我将一些内容从 Windows 复制到 Nano西弗吉尼亚海岸并且它包含回车符(CR 字符)。尽管我用文本编辑器(Notepad++)删除了所有回车符,但复制后仍然会添加这些回车符,可能是 Windows 自己添加的 - 窗口越窄,Windows 添加的回车符就越多。
我的问题:
如何CTRL+\
在 Nano 中的查找和替换()操作中删除所有回车符?
更新1:
如果我粘贴脚本并保存(CTRL + O),则不会有任何变化(我确保在保存时,dos 模式已关闭)。
更新2:
执行dos2unix
文件没有帮助 - 它仍然包含这些绿色框,目前我只能手动删除它们(当然不是解决方案)。我知道有回车符,因为如果我将文件复制回 Notepad++,我会看到它们显示为 CR 字符,当我这样做时View > Show symbol > Show all characters
。
答案1
答案2
绿色单元格不是回车但尾随空格,其定义/usr/share/nano/sh.nanorc
如下:
# Trailing whitespace.
color ,green "[[:space:]]+$"
因此,可以通过在 中执行以下操作,将正则表达式[[:space:]]+$
或\s+$
或替换为“无”来删除:+$
nano
- 按Ctrl+\打开“搜索和替换”提示。
- 按Alt+r启用 RegEx 搜索。
- 输入
[[:space:]]+$
或\s+$
或+$
并按Enter搜索尾随空格。 - 按下
Enter
可将找到的空格替换为“无”。 - 输入
A
并按Enter以应用于所有出现的空格。