用 sed 替换一行中的最后一个字符
我试图用相同的字符加引号 '
替换一行中的最后一个字符
这是 sed 代码
sed "s/\([A-Za-z]\)$/\1'/g" file1.txt > file2.txt
,但不起作用。错误在哪里?
I am trying to replace the last character in a line with the same character plus a quotation mark '
This is the sed code
sed "s/\([A-Za-z]\)$/\1'/g" file1.txt > file2.txt
but does not work. Where is the error?
如果你对这篇内容有疑问,欢迎到本站社区发帖提问 参与讨论,获取更多帮助,或者扫码二维码加入 Web 技术交流群。
绑定邮箱获取回复消息
由于您还没有绑定你的真实邮箱,如果其他用户或者作者回复了您的评论,将不能在第一时间通知您!
发布评论
评论(4)
try:
这将替换行中的最后一个字符,后面没有空格或有多个空格。
克里斯·HTH
try:
This will replace the last character in the line followed by none or many spaces.
HTH Chris
用字符本身替换字符似乎毫无意义,因此请尝试以下操作:对于以字母结尾的行,在末尾添加引号:
It seems pointless to replace a character with itself, so try this: for lines ending with a letter, add a quote to the end:
这符合您的要求:
This does what you ask for:
您的行仅匹配具有单个字符的行。请注意,
s
操作仅在行匹配时生效,而不是仅当该行的子集与正则表达式匹配时才生效。Your line only matches a line with a single character. Note that the
s
operation only takes effect if the line matches, not if only a subset of the line matches the regex.