sed -n '/pattern1/{p; :a; N; /pattern2/!ba; s/.*\n//}; p' inputfile
Объяснение:
/pattern1/{ # if pattern1 is found
p # print it
:a # loop
N # and accumulate lines
/pattern2/!ba # until pattern2 is found
s/.*\n// # delete the part before pattern2
}
p # print the line (it's either pattern2 or it's outside the block)
Редактирование:
Некоторые версии sed
должны быть загружены ложкой:
sed -n -e '/pattern1/{' -e 'p' -e ':a' -e 'N' -e '/pattern2/!ba' -e 's/.*\n//' -e '}' -e 'p' inputfile
Хорошо, я понял это:)
Новое определение:
readonly [K in keyof T]?: RemoteOptions<T[K]>|{ fetchResource: (queryData?: any) => T[K]|T[K][any] };
Так что я заставляю TypeScript строго проверять, является ли возвращаемое значение экземпляром T[K][any]
, который Я считаю, что означает «тип любого члена T[K]
».
И это похоже на работу. Я надеюсь, что это правильный подход, если это не так, я был бы признателен, если бы кто-то указал мне на это.