Я пытаюсь написать сценарий оболочки, чтобы найти значение, сохраненное после повторяющегося слова в большом файле с миллионами строк, используя цикл for. После нахождения повторяющегося слова, как я делаю сценарий, чтобы начать поиск после текущей строки в файле, чтобы при повторении цикла он не начинал поиск с начала файла.
Просто как найти текущую строку в файле и как начать поиск с этой строки, когда цикл повторяется, вместо того, чтобы начинать поиск с начала.
И сколько параллельных крон я могу запустить, есть ли ограничение или нам просто нужно запускать, в зависимости от использования нашего процессора и оперативной памяти.
Это то, что я использую, чтобы узнать в файле журнала, успешно ли запустилась программа.
Чтобы узнать текущий размер файла, вы можете использовать:
current_pos=$(stat -c "%s" file)
И затем вы используете вывод
tail -c +$current_pos file
чтобы начать поиск с запомненной позиции.
Но тогда возможно, что когда вы читаете размер файла (а также когда вы выполняете поиск), последняя строка будет неполной. Это зависит от программы, которая записывает файл.