Linux 我如何删除“;X-TMASE-MatchedRID“;使用“关键字/值”;白鹭-v“吗;?

Linux 我如何删除“;X-TMASE-MatchedRID“;使用“关键字/值”;白鹭-v“吗;?,linux,grep,Linux,Grep,我的文件包含如下内容: X-TM-AS-Product-Ver: IMSVA-8.2.0.1391-8.0.0.1202-22662.005 X-TM-AS-Result: No--0.364-7.0-31-10 X-imss-scan-details: No--0.364-7.0-31-10 X-TMASE-Version: IMSVA-8.2.0.1391-8.0.1202-22662.005 X-TMASE-Result: 10--0.363600-5.000000 X-TMASE-Mat

我的文件包含如下内容:

X-TM-AS-Product-Ver: IMSVA-8.2.0.1391-8.0.0.1202-22662.005
X-TM-AS-Result: No--0.364-7.0-31-10
X-imss-scan-details: No--0.364-7.0-31-10
X-TMASE-Version: IMSVA-8.2.0.1391-8.0.1202-22662.005
X-TMASE-Result: 10--0.363600-5.000000
X-TMASE-MatchedRID: 40jyuBT4FtykMGOaBzW2QbxygpRxo469FspPdEyOR1qJNv6smPBGj5g3
        9Rgsjteo4vM1YF6AJbZcLc3sLtjOty5V0GTrwsKpl6V6bOpOzUAdzA5USlz33EYWGTXfmDJJ3Qf
    wsVk0UbuGrPnef/I+eo9h73qb6JgVCR2fClyPE+EPh2lMKov3fdtvzshqXylpWZGeMhmJ7ScqBW
    z6M5VHW/fngY5M/1HkzhvqqZL61o+ZdBoyruxjzQ==

This is my real text! I need to extract this line!
cat $my_file | egrep -v "^(X-TM-AS)" 
             | egrep -v "X-imss-scan-details"
             | egrep -v "^(X-TMASE-)"
过去由其他人编写的现有代码执行以下行:

cat $my_file | egrep -v "^(X-TM-AS)" 
             | egrep -v "X-imss-scan-details"
应该删除所有以“X-”开头的键值行

直到今天,上面的代码一直运行良好,因为以
X-TMASE
开头的键在过去从未出现过。它已经开始出现在今天的文件中,因此它导致代码在提取有用数据时失败

在新添加的密钥中,我认为
X-TMASE-MatchedRID
是最让我们头疼的一个,因为它的值跨越多行:

X-TMASE-MatchedRID: 40jyuBT4FtykMGOaBzW2QbxygpRxo469FspPdEyOR1qJNv6smPBGj5g3
        9Rgsjteo4vM1YF6AJbZcLc3sLtjOty5V0GTrwsKpl6V6bOpOzUAdzA5USlz33EYWGTXfmDJJ3Qf
    wsVk0UbuGrPnef/I+eo9h73qb6JgVCR2fClyPE+EPh2lMKov3fdtvzshqXylpWZGeMhmJ7ScqBW
    z6M5VHW/fngY5M/1HkzhvqqZL61o+ZdBoyruxjzQ==
最初,我尝试了以下方法:

X-TM-AS-Product-Ver: IMSVA-8.2.0.1391-8.0.0.1202-22662.005
X-TM-AS-Result: No--0.364-7.0-31-10
X-imss-scan-details: No--0.364-7.0-31-10
X-TMASE-Version: IMSVA-8.2.0.1391-8.0.1202-22662.005
X-TMASE-Result: 10--0.363600-5.000000
X-TMASE-MatchedRID: 40jyuBT4FtykMGOaBzW2QbxygpRxo469FspPdEyOR1qJNv6smPBGj5g3
        9Rgsjteo4vM1YF6AJbZcLc3sLtjOty5V0GTrwsKpl6V6bOpOzUAdzA5USlz33EYWGTXfmDJJ3Qf
    wsVk0UbuGrPnef/I+eo9h73qb6JgVCR2fClyPE+EPh2lMKov3fdtvzshqXylpWZGeMhmJ7ScqBW
    z6M5VHW/fngY5M/1HkzhvqqZL61o+ZdBoyruxjzQ==

This is my real text! I need to extract this line!
cat $my_file | egrep -v "^(X-TM-AS)" 
             | egrep -v "X-imss-scan-details"
             | egrep -v "^(X-TMASE-)"
但它不起作用。它没有完全消除
X-TMASE-MatchedRID
的值:

9Rgsjteo4vM1YF6AJbZcLc3sLtjOty5V0GTrwsKpl6V6bOpOzUAdzA5USlz33EYWGTXfmDJJ3Qf
    wsVk0UbuGrPnef/I+eo9h73qb6JgVCR2fClyPE+EPh2lMKov3fdtvzshqXylpWZGeMhmJ7ScqBW
    z6M5VHW/fngY5M/1HkzhvqqZL61o+ZdBoyruxjzQ==

This is my real text! I need to extract this line!
我希望输出为:

This is my real text! I need to extract this line!
也就是说,我不希望在输出中看到任何元数据


您知道如何使用egrep或任何等效命令来实现这一点吗?

如果您只想删除第一段,则使用其他命令更好,例如
sed

sed '1,/^$/ d' "$my_file"

可能会过滤掉所有以
X-
或空格开头的行
grep-vE'^X-|^'
@Sundeep好吧,我担心文本本身可能以空格开头。mkj提供的解决方案实际上起了作用。所以,我将把这个标记为已接受。谢谢你的评论!:-)