Я пытаюсь заменить последний символ в строке тем же символом плюс кавычка '
'
Это код sed
sed "s/\([A-Za-z]\)$/\1'/g" file1.txt > file2.txt
но не работает. Где ошибка?
попробовать:
sed "s/\([a-zA-Z]\)\s*$/\1\'/" file
Это заменит последний символ в строке, за которым не будет ни одного или нескольких пробелов.
HTH Крис
Кажется бессмысленным заменять символ на себя, поэтому попробуйте это: для строк, заканчивающихся буквой, добавьте кавычку в конце:
sed "/[a-zA-Z]$/s/$/'/"
Это делает то, что вы просите:
sed "s/\(.\)$/\1'/" file1.txt > file2.txt
Ваша строка соответствует только строке с одним символом. Обратите внимание, что операция s вступает в силу только в том случае, если строка соответствует , а не в том случае, если регулярному выражению соответствует только подмножество строки.
s