Я хочу найти определенную строку в нескольких строках в файле и получить строку, в которой было найдено соответствие.
однако моя проблема в том, что файл содержит одну очень длинную строку, а не, т. е. слова, и я хочу найти под-последовательность этой длинной строки. Следовательно, я не могу использовать pcregrep и просто искать word1nword2. Поскольку я действительно хочу получить номер строки, в которой было найдено совпадение, я не могу просто удалить всю новую строку письмена...
это пример того, как выглядит мой файл, я просто прописными буквами строку, чтобы вы могли найти его:
строку для поиска:
gcbcdbfceebcfhfchaaccdgfcegffgedffaeaedcbaedhacebeeebcechbcbfeeccbdhcbfg
файл для поиска в:
abcdeabcdeabcdeabcdeabcdeabcdeabcdeabcdeabcdeabcde
abcdeabcde***GCBCDBFCEEBCFHFCHAACCDGFCEGFFGEDFFAEAEDC
BAEDHACEBEEEBCECHBCBFEECCBDHCBFG***ggfbhbgcedabceedfa
fbaaechaabdbffbebecebaacfcfcdcggfchddcefbcbdegbbba
есть ли у кого-то из вас простое решение для этого?
Если нет инструмента под рукой, чтобы сделать это, я бы просто написал короткий скрипт python, чтобы сделать это, но я думаю, что любой инструмент bash будет более эффективным, чем это ...
редактировать:
большое спасибо за ваши ответы, они работают очень хорошо, если позиция символа новой строки известно.
впрочем, прошу прощения за неточность в моем вопросе. Моя проблема в том, что я не знаю, есть ли новая строка или даже более одной новой строки в строке в файле, и более того, я не знаю здесь это. Я исправил свою строку поиска, удалив новую строку, которую я невольно вставленный.
есть ли способ разрешить новую строку в любой позиции строки?