У меня вопрос о grep.Получить подстроку с grep
У меня есть некоторые данные адреса в файле asc как простой текст. Первые 30 символов для имени. Если имя короче, чем пробелы в 30 символов, заполните его, чтобы убедиться, что его длина равна 30. В позиции 31 есть пробел для разделения имени из следующих данных, которые являются адресом. После того, как адрес также является пробелом и некоторыми другими данными. Мой план состоит в том, чтобы получить адрес, который начинается с индекса 32 и продолжает индексировать 50. В основном я получаю только ничего или данные, начинающиеся с начала строки. Я попробовал несколько методов, таких как
grep -iE '^.{30}' '.{8}$' myfile.asc
или
grep –o -P '^.{31,34}' myfile.asc
Я не могу найти определенный шаблон, так как каждый набор данных отличается за исключением пробельных символов, которые отделяют данные. Можно ли получить такую подстроку, не полагаясь на другие методы через трубу? Я предпочитаю использовать grep, поскольку производительность является проблемой.
Я думаю, что 'sed' может быть более подходящим для этого. –