簡體   English   中英

GREP 或 AWK 復雜模式匹配 (linux)

[英]GREP or AWK complex pattern match (linux)

所以我有來自“mediinfo VIDEO.mkv”的文本輸出:

General
Unique ID                                : 190778803810831492312123193779943 (0x8F265C1B107A4D595F723237C370C7074FB7)
Complete name                            : VIDEO.mkv
Format                                   : Matroska
Format version                           : Version 4 / Version 2

Video
ID                                       : 1
Format                                   : HEVC
Format/Info                              : High Efficiency Video Coding
Format profile                           : Main@L3@Main
Codec ID                                 : V_MPEGH/ISO/HEVC

我需要 GREP 或 AWK 格式:HEVC 波紋管視頻。 我不確定如何繼續,因為我可以正則表達式“格式”,但隨后我得到了多行(Matroska 和 HEVC)。 我還沒有找到任何方便的提示。

想法?

  • 如果“Matroska”已修復,您可以通過 mediinfo VIDEO.mkv | grep "格式" test.fi | grep -v "Matroska"
  • 如果輸出格式是固定的,那么你可以通過 mediinfo VIDEO.mkv | grep "格式" test.fi | 尾-n1

grep -v 將忽略匹配行,tail 將從最后一行打印指定數量的 o 行。

mediinfo VIDEO.mkv | awk -v RS= '/^Video/{print $7}' 
HEVC

您可以在RS設置為空白的情況下使用awk並打印所需的列號。

顯然有很多方法可以解決這個問題,但sed在這里似乎很合適:

$ sed -n '/Video/,$ { s/Format *: //p }' file
HEVC

暫無
暫無

聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.

 
粵ICP備18138465號  © 2020-2024 STACKOOM.COM