我有一个.csv文件,大约有10列记录数据。我想用这样的方法:
How to get the first line of a file in a bash script?
获取每个文件的第一行,然后处理日志。但是,一旦行被处理,我希望将其标记为已处理(可以简单地在末尾添加一个新列,其中包含*或其他内容)。因此,基本上,我想抓住第一行未处理,处理它,并移动到下一个未处理的行,等等。
我需要使用sed、awk、grep和/或其他标准来完成这个任务。bash脚本将在无限时间循环中在后台运行。本质上,我试图读取和处理这个日志文件的实时,但需要日志的历史。
编辑:,我也需要这个标记文件中读取的行。这样的话,如果服务器停止了,我就可以知道在哪里进行处理。所以如果我能想出办法的话尾巴会起作用的。
谢谢!
发布于 2012-08-20 13:59:51
与其坐在一个无限的循环中,你可以这样做:
tail -n +1 -f your_log_file | some_processing_pipeline这将开始在第1行读取日志文件,然后继续等待新行的出现并将它们传递给some_processing_pipeline。
https://stackoverflow.com/questions/12038896
复制相似问题