Я хочу найти определенную строку по нескольким строкам в файле и получить строку, в которой найдено совпадение.
Однако моя проблема в том, что файл содержит одну очень длинную строку, а не слова, и я хочу найти подпоследовательность этой длинной строки. Следовательно, я не могу использовать pcregrep и просто искать word1\nword2. Поскольку я действительно хочу получить номер строки, в которой найдено совпадение, я не могу просто удалить все символы новой строки ...
Это пример того, как выглядит мой файл, я просто прописал соответствующую строку, чтобы вы могли ее найти:
Строка для поиска:
gcbcdbfceebcfhfchaaccdgfcegffgedffaeaedcbaedhacebeeebcechbcbfeeccbdhcbfg
Файл для поиска в:
abcdeabcdeabcdeabcdeabcdeabcdeabcdeabcdeabcdeabcde
abcdeabcde***GCBCDBFCEEBCFHFCHAACCDGFCEGFFGEDFFAEAEDC
BAEDHACEBEEEBCECHBCBFEECCBDHCBFG***ggfbhbgcedabceedfa
fbaaechaabdbffbebecebaacfcfcdcggfchddcefbcbdegbbba
У кого-нибудь из вас есть простое решение для этого?
Если для этого нет подходящего инструмента, я бы просто написал для этого короткий скрипт на python, но я думаю, что любой инструмент bash был бы более эффективным, чем этот ...
РЕДАКТИРОВАТЬ:
Большое спасибо за ваши ответы, они работают очень хорошо, если известна позиция символа новой строки.
Тем не менее, я прошу прощения за неточность в моем вопросе. Моя проблема в том, что я не знаю, есть ли новая строка, или даже более одной новой строки, внутри строки в файле и, более того, я не знаю, где она находится. Я исправил строку поиска, удалив новую строку, которую я невольно вставил.
Есть ли способ разрешить перевод строки в любую позицию строки?