【发布时间】:2014-06-03 05:42:02
【问题描述】:
我有一个文件 VALIDATION_CONFIG_FILE.cfg,其中包含以下记录:
ES_VDF_1|1
DE_VDF_1|2
ES_VDF_1|7
当我通过变量使用下面的grep 命令时,该命令将返回ES_VDF_1 输出。根据我的理解,命令不应该给出任何结果。当我使用相同的命令而不使用变量(直接使用值)时,命令不返回任何结果,这是预期的。那么我使用的变量有什么问题?
FEED_ID_1_7="HU_VDF_1"
FEED_ID_2_7="ES_VDF_1"
FEED_ID_3_7="PT_VDF_2"
awk -F'|' '{ if($2=="7") print $1; }' VALIDATION_CONFIG_FILE.cfg |
grep -E -v '${FEED_ID_1_7}|${FEED_ID_2_7}|${FEED_ID_3_7}'
输出:ES_VDF_1
awk -F'|' '{ if($2=="7") print $1; }' VALIDATION_CONFIG_FILE.cfg |
grep -E -v 'ES_VDF_1|HU_VDF_1|PT_VDF_2'
输出:什么都没有
【问题讨论】:
-
嗨乔纳森...我已经编辑了这个问题
-
感谢您的澄清。请删除您的评论,并将其标记为已过时(以防我无法删除它)。
-
这个
awk -F'|' '{ if($2=="7") print $1; }' VALIDATION_CONFIG_FILE.cfg可以缩短一些awk -F\ '$2=="7" {print $1}' VALIDATION_CONFIG_FILE.cfg