Ответ 1
sed
- это язык сценариев. Вы разделяете команды с точкой с запятой или новой строкой. Многие диалекты sed
также позволяют передавать каждую команду в качестве отдельного аргумента параметра -e
.
sed -i 's/File//g;s/MINvac\.pdb//g' /home/kanika/standard_minimizer_prosee/r
Я также добавил обратную косую черту, чтобы правильно процитировать буквальную точку перед pdb
, но в этом ограниченном контексте, который, вероятно, неважен.
Для полноты здесь представлен вариант новой строки. Многие новички сбиты с толку, что оболочка разрешает буквенные символы новой строки в цитируемых строках, но это может быть удобно.
sed -i 's/File//g
s/MINvac\.pdb//g' /home/kanika/standard_minimizer_prosee/r
Конечно, в этом ограниченном случае вы также можете объединить все в одно регулярное выражение:
sed -i 's/\(File\|MINvac\.pdb\)//g' /home/kanika/standard_minimizer_prosee/r
(Некоторые диалекты sed
будут нуждаться в этом без обратных косых черт и/или предлагают возможность использовать расширенные регулярные выражения, где их следует опустить. BSD sed
, а значит, и MacOS sed
, требует обязательного аргумента до sed -i
, который может быть пустым, например sed -i ''.
)