У меня есть файл, в котором есть одна строка с большим количеством !
персонажи. Я хочу удалить все !
персонажи.
Я пробовал это:
sed s/!// myfile
и это:
sed 's/!//' myfile
и это:
sed 's/"\!*"//' myfile
Но все они просто распечатывают все «!».
Должно быть, я упускаю что-то очевидное. Любые идеи?
Добавить g
в ваше регулярное выражение для глобальной замены. В противном случае будет заменено только первое вхождение:
sed s/\!//g myfile
Не забывай бедных старых tr
tr -d '!' < filename
tr работает только со стандартным вводом, поэтому вам нужно передать в него данные.
Попробуй это:
$ sed s/\!//g myfile
добавьте g в конце, чтобы заменить все вхождения.
sed 's / "! *" // g' мой файл
Вы должны указать, что хотите удалить все вхождения: sed 's/!//g' myfile
Обратите внимание g
, что означает «жадный».
Без "g" у вас будет только первый "!" удалено