ОК, я наконец понял это.Основная идея состоит в том, чтобы объединить данные даты с помощью sort -m
, чтобы извлечь эти известные строки обратно с помощью sed (благодаря предложению «user unknown»).Если файл данных еще не отсортирован, сначала отсортируйте его.Здесь предполагается, что YYYY-MM-DD является константой, иначе это не сработает.
Возможно, вы могли бы сделать это более надежным, используя mktemp
вместо /tmp/startstop
и более уникальную строкучем «START» и «END».
/tmp/data
, очевидно, ваш файл данных.
#!/bin/bash
START=$1
END=$2
echo $START START > /tmp/startstop
echo $END END >> /tmp/startstop
sort -m /tmp/data /tmp/startstop | sed -n '/START/,/END/p'