У меня есть файл (sample1.txt) следующего вида:команда линукс заменить указанный контент в конце строки
1 a
2 b\
3 d
4 e\
5 k
6 hello\hi
7 stackoverflow\site\
Теперь, если последний символ строки является «\», то я хотите, чтобы заменить его «», таким образом, чтобы преобразовать sample1.txt в следующий файл:
1 a
2 b
3 d
4 e
5 k
6 hello\hi
7 stackoverflow\site
Я знаю, что это можно сделать то же самое с использованием языка программирования, но это можно сделать то же самое с помощью команда linux (например, grep, sed и т. д.)
Не могли бы вы объяснить, что делает sed в команде немного. Я имею в виду, что я не могу понять, что делать/\\ $ // 'stand for –
Извините - это может быть немного загадочно. «\\» соответствует одиночному обратному косую черту в тексте ввода (его нужно удвоить, так как обратная косая черта имеет особое значение = например, «\ t» - вкладка). «$» - это шаблон для распознавания конца строки, поэтому «\\ $» соответствует «Обратная косая черта в конце строки». Итак, вся вещь «s/\\ $ //» означает «заменить обратную косую черту в конце строки ничем». – racraman
@racraman выглядит так, как будто вы попали в нее первым. – MattSizzle