Стирание в stdin всех экземпляров регулярных выражений, определенных в файле

Я получаю что-то вроде комбинации sed 's/pattern//g' и grep -f patternfile.txt .

В принципе, я хотел бы, чтобы поток ввода был лишен всех экземпляров шаблонов регулярных выражений, определенных в patternfile.txt (который содержит одно регулярное выражение на строку), так что

cat myinitialfile.txt | magiccommands -f patternfile.txt > mycleanfile.txt

2 Solutions collect form web for “Стирание в stdin всех экземпляров регулярных выражений, определенных в файле”

 sed 's/^.*/s\/&\/\//' pattern > sed-pattern-file sed -f sed-pattern-file myinitialfile.txt > mycleanfile.txt 

Как вариант ответа уже здесь – легче еще, наверное, вытащить скрипт прямо из трубы:

 sed 's|.*|s/&//g|' <patterns | sef -f - infile >outfile 

Таким образом, вам не нужно изменять файл шаблонов – или любой другой – напрямую и вместо этого изменять его в потоке в соответствии с вашими потребностями.

  • Измените значения параметра из файла и сгенерируйте файлы параметров из него
  • Почему эта команда awk не играет так же хорошо, как найти sed?
  • sed insert в определенных положениях
  • Две операции с sed по той же схеме
  • У вас проблемы с командой sed на Linux
  • SED - поиск и замена специальными символами (#,,%)
  • Объединяйте строки из разных файлов, если шаблон сопоставляется
  • Выделите сегодня в Mac
  • Sed и BBedit Html
  • grep first n и последние n символов из строки в файле
  • Заменить или добавить строку со строкой в ​​файле
  • Найти слова после определенного символа в строке
  • Linux и Unix - лучшая ОС в мире.