Как выполнить поиск по критериям соответствия

Неполный ответ, но поскольку я новичок и не могу добавить комментарий, я должен использовать это

Пробовали ли вы вариант -j, --dump-jsonили один из других, перечисленных в руководстве по адресу https://github.com/ytdl-org/youtube-dl/blob/master/README.md#verbosity--simulation-options?

Я только что попробовал, и на одном видео все работает нормально

-2
12.08.2021, 14:08
1 ответ

Ты говоришь

… I would like to print all the lines eppix* …

Что ж, как указывает αғsнιη, вы можете сделать это (для данного ввода )с помощью

grep 'eppix' infile

На самом деле,для данного ввода , вы можете получить желаемый результат с помощью

printf "eppix:'informix'.%s\n" 'lsc_ix1 212995' 'api_valid_token 213201' 'leads_reasons 213841' \
                        'epx_vas_sms 214481' 'lsc_ix1 215121' 'lsc_ix1 287926' \
                        'cn_clawback_idx 288750' 'consent_types_idx 288782' 'lsc_ix1 288850'

Но вы также говорите

… grep for lines between a section

поэтому я думаю, вы имеете в виду, что хотите ограничить свой поиск к строкам между chunkbig10_1039и следующей chunkbig10_. И, поскольку вы говорите

… I would like to print all the lines eppix* …

Я собираюсь сделать радикальное предположение, что вы хотите напечатать все строки, содержащие eppixкоторые находятся между chunkbig10_1039и следующим chunkbig10_, и что там могут быть другие непустые строки -.

Если это не то, чего вы хотите, пожалуйста, отредактируйте свой вопрос чтобы объяснить, что вы хотите, более четко.

Мы можем сделать это одним вызовомsed:

sed -n '/chunkbig10_1039/,/chunkbig10_/ { /eppix/p }' infile
  • sed nозначает «не печатать все; просто печатайте то, что мы говорим, чтобы печатать».
  • /eppix/pозначает «печатать каждую строку, содержащую eppix»,и
  • /chunkbig10_1039/,/chunkbig10_/ { … }означает «выполняйте команды между {и }только для строк между одним соответствием chunkbig10_1039и следующий, соответствующий chunkbig10_».

Я сделал более простой (более легкий для чтения )входной файл, который демонстрирует мои предположения (и их отсутствие):

$ cat infile
eppix ant
chunkbig10_1
bat
eppix cat
dog
eppix elk

chunkbig10_2
eppix fox
gopher
horse
chunkbig10_3
impala
eppix jaguar
kangaroo
eppix llama

$ sed -n '/chunkbig10_1/,/chunkbig10_/ { /eppix/p }' infile
eppix cat
eppix elk

$ sed -n '/chunkbig10_2/,/chunkbig10_/ { /eppix/p }' infile
eppix fox

$ sed -n '/chunkbig10_3/,/chunkbig10_/ { /eppix/p }' infile
eppix jaguar
eppix llama
  • Если вы хотите найти только строки, начинающиеся с eppix, так и скажите.
  • Если вы хотите найти все не -пустые строки в «разделе», скажите об этом.
  • Если у вас могут быть строки, содержащие chunkbig10_1039 foo, так и скажите.
  • Если у вас могут быть строки, содержащие chunkbig10_1039bar(или chunkbig10_103942), скажем так.
  • Если
    chunkbig10_2
    
    не заканчивает раздел, но должен быть
    1983 /dev/informix/chunkbig10_2
    
    так и сказал.
  • Если у вас могут быть строки, содержащие chunkbig10_, а также eppix, скажи, что ты хочешь с ними сделать.
0
22.08.2021, 17:57

Теги

Похожие вопросы