我正在尝试使用相同的字符和引号'
替换行中的最后一个字符
这是sed代码
sed "s/\([A-Za-z]\)$/\1'/g" file1.txt > file2.txt
但不起作用。错误在哪里?
答案 0 :(得分:7)
尝试:
sed "s/\([a-zA-Z]\)\s*$/\1\'/" file
这将替换行中的最后一个字符,后跟无或多个空格。
HTH Chris
答案 1 :(得分:4)
用自己替换一个字符似乎毫无意义,所以试试这个:对于以字母结尾的行,在末尾添加一个引号:
sed "/[a-zA-Z]$/s/$/'/"
答案 2 :(得分:2)
这就是你要求的:
sed "s/\(.\)$/\1'/" file1.txt > file2.txt
答案 3 :(得分:0)
您的行只匹配包含单个字符的行。请注意,s
操作仅在行匹配时生效,而不是仅在该行的子集与正则表达式匹配时生效。