Como monitorar um arquivo local para alterações, aplicar uma substituição RegEx e salvar / substituir um arquivo de destino?

2

Gostaria de iniciar um script ou algo que observe um arquivo de texto para alterações. Quando o arquivo for alterado, quero executá-lo por meio de um analisador RegEx para substituir algum texto e, em seguida, enviar o arquivo modificado para um arquivo de destino.

Sou muito novo no Linux, então fique comigo, mas isso seria legal para ser classificado, então obrigado pela sua ajuda com antecedência ...

    
por Nick Middleweek 07.06.2013 / 17:31

1 resposta

3

Antes de usar este script, instale o inotify-tools ( sudo apt-get install inotify-tools ).

#!/bin/bash

FILE=/path/to/monitored/file
DSTFILE=/path/to/destination/file
SEARCH="Text you want to replace"
REPLACE="Text that will replace the one in SEARCH"

while inotifywait -e modify $FILE; do
  sed "s/$SEARCH/$REPLACE/g" $FILE > $DSTFILE
done
    
por Eric Carvalho 20.06.2013 / 22:32