仅当B、C、D、E和;G包含使用Linux shell失败的代码

仅当B、C、D、E和;G包含使用Linux shell失败的代码,linux,shell,Linux,Shell,仅当B、C、D、E和G中的任何一个包含使用Linux shell失败时才打印列A 我还需要,仅当最后一个现有列不包含successful时才打印列A 注意-Coulmns是以制表符/逗号分隔的grep-v Failed | awk'{print$1}' A B C ............ till G sucnpde067.advancemags.com- Succes

仅当B、C、D、E和G中的任何一个包含使用Linux shell失败时才打印列A


我还需要,仅当最后一个现有列不包含successful时才打印列A

注意-Coulmns是以制表符/逗号分隔的

grep-v Failed | awk'{print$1}'
A               B                       C                  ............ till G

sucnpde067.advancemags.com-          Successful Full FS_UNIX_801_Fri_C Full_Backup 0B      Failed Full FS_UNIX_801_Fri_B Full_Backup 0B          ............ till G
sucnpde066.advancemags.com-          Successful Full FS_UNIX_801_Fri_C Full_Backup 0B      Successful Full FS_UNIX_801_Fri_C Full_Backup 0B  ............ till G
slnssde052.advancemags.com-           Failed Full FS_UNIX_801_Fri_B Full_Backup 0B              Successful Full FS_UNIX_801_Fri_C Full_Backup 0B   ........... till G
slnssde048.advancemags.com-           Failed Full FS_UNIX_801_Fri_B Full_Backup 0B              Failed Full FS_UNIX_801_Fri_B Full_Backup 0B          ............ till G

grep“Failed”FILENAME | cat FILENAME-| sort | uniq-d | egrep-o“^\w*”
假设您不希望包含“successful”的最后一列没有任何尾随空格

grep -v Failed <FILENAME> | awk '{print $1}'
grep“失败”| grep-vE“成功”| awk-F'[\t,]''{print$1}'

如果输入的其余部分包含字符串“Failed”,那么您希望使用标准UNIX命令行工具打印输入的子集(第一个逗号或制表符之前的任何内容),对吗?欢迎使用。请阅读和,以获取撰写好问题的提示。你的问题没有显示出你自己解决问题的努力,看起来好像你只是想让别人替你做这项工作,这被认为是离题的。将问题简化为两项任务。。查找包含“Failed”的行并获取行的第一列。此问题似乎与主题无关,因为它是关于使用Unix/Linux shell的,并且更适合于我还需要,仅当最后一个现有列不包含successful时才打印列a。此外,我需要,仅当最后一个现有列不包含successful时才打印列A。上面包含
grep-v Failed
的向上投票的答案是错误的。它将查找不包含“Failed”的行。我会对答案发表评论,但我没有足够高的代表性!
grep "Failed" <FILENAME> | grep -vE "successful^" | awk -F'[\t,]' '{print $1}'