如何监视本地文件的更改、对其进行应用 RegEx 替换并保存/覆盖到目标文件?

如何监视本地文件的更改、对其进行应用 RegEx 替换并保存/覆盖到目标文件?

我想启动一个脚本或其他程序来监视文本文件的变化。当文件发生变化时,我想通过 RegEx 解析器运行它来替换一些文本,然后将修改后的文件输出到目标文件。

我对 Linux 还很陌生,所以请耐心等待,但如果能解决这个问题就太好了,所以提前感谢您的帮助...

答案1

在使用此脚本之前,请安装 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

相关内容