2017-04-03 60 views
0

我找过有人写了一些的bash脚本谁曾经在我的公司上班,并想了解下面的sed命令:了解SED -i“/保持谢晖/ d”

LOG_DIR=/somelocation 
ERROR_LOG="batch_errors_"$*".log" 

# remove any non genuine error fields 
sed -i '/Keep Error Fields/d' $LOG_DIR/$ERROR_LOG 
if [ -s $LOG_DIR/$ERROR_LOG ] 
then 
#DO SOMETHING 
fi 

脚本的目的是查看日志文件列表,并且在任何日志中都有ERROR字样的地方添加到ERROR_LOG中。我相信上述意图是要删除任何不是“真正”错误结果的条目。

我不明白'/Keep Error Fields/d'在做什么或者它是如何将这些错误识别为非真货的。这是什么内置到sed命令?

在此先感谢您的帮助。

+1

''/ Keep Error Fields/d''表示删除与特定搜索字符串匹配的行......您可以在[sed doc](https://stackoverflow.com/documentation/sed/3120)上找到更多相关示例/ address-and-address-range#t = 201704031448441117151) – Sundeep

+0

好的 - 太棒了,我认为这是做了一些更复杂的事情! –

+0

@Sundeep请做出回答,我不想从列表中选择“答案:0”。 – Yunnosch

回答

1

'/Keep Error Fields/d'意味着删除匹配特定的搜索字符串...

报价森迪普•做出一个漂亮的Q/A对,与他的许可。