Описание тега sundome
Этот вопрос был задан раньше, но они искали текст между двумя датами, включая или исключая эти даты. Я изменил один из ответов, так что он выбирает и включает в себя от первого свидания и уходит но не на втором свидании (я думаю/надеюсь). Однако я не понимаю, где вы предоставляете текстовый файл, в котором, чтобы применить это?
набор дата2 дата1 "мусор"
от="$1"
до="$2"
файл="$3"
Выходные линии # между двумя датами параметр
# Включая дату первого параметра, а не второй
на awk -V от=$от -V до=$до '
(2 $ > = У) && ($2 < до) { печати $0 ; далее }
($2 >= до) { выход }' "$файл"
После открытия раствор плотнее, я понял, что есть еще один аспект, что бы исправить эту ситуацию и предотвратить меня от необходимости писать незначительные изменения линии сценария во много раз.
Текущего рабочего раствора:
на awk '/^date_1_/,/^date_2_/ {печать}' file.txt > file2.txt
команда grep -v с "date_2_" file2.txt > file2tmp.txt
МВ file2tmp.txt file2.txt
Однако я хотел бы сделать это для каждого нового дня. например, выделить текст от Date_1_ (включая date_1_) до, но не включая Date_2_, затем выберите текст с Date_2_ к 3 аналогичным образом, 3 к 4 таким же образом (вплоть до 1000). Есть ли решение я могу легко масштабировать?
Пример входного текстового файла (если сам файл идет до 1000, не существует пространства между подчеркивания в txt файл, но у меня нет туда клеща, чтобы избежать эффекты курсивом):
'> _ 1_ Фе фи ФО ФУМ >_ 2_ бип бап боп >_ 3_ ти интернет на
Пример Вывода:
созданный текстовый файл file1: > _ 1_ Фе фи ФО ФУМ
созданный текстовый файл2: >_ 2_ бип бап боп
созданный текстовый файл file3: >_ 3_ ти интернет на