行编辑器 ed 将一些文件名保存在单引号中,后跟一个空格

行编辑器 ed 将一些文件名保存在单引号中,后跟一个空格

我正在跟进Unix 编程环境练习并遇到一些奇怪的问题。在进行ed练习时,当您刚开始时ed,输入练习,然后执行

 w poem

'poem ' 当我测试另一个文件时,它保存在文件系统中,开始ed,输入一些单词,

w raistlin 

它保存为'raistlin ' 相同的结果(文件名用单引号括起来,后跟一个空格),尽管我在第三个上进行了测试,如果我从文件名开始,它会保存为普通文件。还有其他人看到这些结果吗?我知道这有点深奥,我想我可能是整个地球上ed这个周末使用的 7 个人之一。我正在使用 Manjaro Arch。

答案1

据原始用户称,他们在将文件保存为ed.

w test 

(在上面的字符串后输入额外的空格test

这样做会促使 GNUls在其输出中的文件名周围添加单引号。它会这样做任何“不寻常”的文件名。在本例中,因为它包含空格字符。

$ ls -l
total 4
-rw-rw-r-- 1 myself myself 6 Mar  9 21:17 'test '

ls如果您愿意,可以使用ls --literalls -Nls --quoting-style=literal或将环境变量设置QUOTING_STYLE为字符串,让 GNU输出不带引号的文件名literal。但是,由于ls输出仅用于看着,这并不重要。

有关的:

答案2

似乎是文件名后面多了一个空格。所以当你像这样指定文件名时。

ed poem

效果很好。在 ed 中输入如下命令时要非常小心:

w poem(enter)

... 并不是:

w poem (enter)

相关内容