如何使脚本首先编辑特定目录中新找到的文件,然后通过incron / python上传?我对如何在python脚本中将文件名指定为字符串感到困惑。
incrontab -e:
/var/test IN_CREATE /var/pythoncode/code.py
python代码:
s = open("confused.txt").read()
s = s.replace("string1", "string2")
f = open("confused.txt", 'w')
f.write(s)
f.close()
基本上,我试图让incron服务找到/var/test
文件夹中找到的任何新文件,然后执行python代码来查找并替换{{1}中找到的新文件中的字符串}。但是,我不确定如何处理/var/test
文件名字符串,因为与"confused.txt"
一起找到的每个文件都有一个动态名称。
答案 0 :(得分:0)
这是一个解决方法,假设您熟悉脚本 -
步骤1 - 更改目录中的文件(更改所有内容并使用ls
中的$ FILE获取名称。)
步骤2 - 将最后一个文件名存储在变量$ LAST_FILE
中步骤3 - 运行WHILE循环以查找比$ LAST_FILE更新的文件 -
find /var/test/ -newer $LAST_FILE
OR
find /var/test/ -type f -newer $LAST_FILE
OR
find /var/test/ -type f -iname "*.txt" -newer $LAST_FILE
这将列出比您编辑的上一个文件更新的文件。因此,将此列表解析为您的"更改文件"脚本。