Shell 脚本:从指定位置读取文本至特定行
#!/bin/bash/n/n# 获取上次记录的位置/nif [ -f 'position.txt' ]; then/n position=$(cat position.txt)/nelse/n position=1/nfi/n/n# 循环读取文本/nwhile true; do/n # 读取文件内容/n content=$(sed -n /'${position},/$p/' text.txt)/n # 查找'2J'所在的行数/n end=$(echo /'$content/' | grep -n /'^2J$/' | cut -d /':/' -f 1)/n # 如果找到了,则输出内容并记录位置/n if [ -n /'$end/' ]; then/n echo /'$content/' | head -n /'$end/'/n position=$(expr /'$position/' + /'$end/')/n echo /'$position/' > position.txt/n # 等待一段时间再继续读取/n sleep 5/n fi/ndone
原文地址: https://www.cveoy.top/t/topic/nVA0 著作权归作者所有。请勿转载和采集!