高亮显示不一致

先准备好测试文件

[root@node4 ~]# cat 2.1
No.     Table Name     Src Count    Des Count    Result
1       sbtest1        100          100          PASS
2       sbtest2        200          300          NOTPASS
3       sbtest3        150          150          PASS
4       sbtest4        400          401          NOTPASS

如图:
在这里插入图片描述

准备好脚本

解决一:

#!/bin/bash# 设定颜色
RED_BACKGROUND='\033[41m'  # 红色背景
WHITE='red\033[0m'         # 白色字体
NO_COLOR='\033[0m'         # 重置颜色# 文件名
FILE_NAME="2.1"# 读文件并进行处理=
awk -v red1="$RED_BACKGROUND" -v white="$WHITE" -v nc="$NO_COLOR" 'BEGIN {FS="[ ]+"; OFS=" | "}
{if (NR==1) {# 打印标题行print $0;} else {# 对比第三和第四列if ($3 != $4) {# 如果不同,改变输出颜色print $1, $2, $3, $4, red1 whit$5nc;} else {# 如果相同,保持原样print $1, $2, $3, $4, $5  ;}}
}' $FILE_NAME

解决二:

awk 'BEGIN {FS="[ ]+";   # 字段分隔符设置为竖线加空格OFS=" | ";    # 输出字段分隔符同上RED="\033[1;31m";    # 设置红色高亮的ANSI码GREEN="\033[1;32m";  # 设置绿色高亮的ANSI码RESET="\033[0m";     # 重置颜色设置的ANSI码
}
NR==1 {print $0; next;}  # 打印标题行并继续
{if ($3 != $4) { # 比较“Src Count”和“Des Count”列print $1, $2, $3, $4, RED $5 RESET; # 如果不相同,打印红色高亮的“Result”} else {print $1, $2, $3, $4, GREEN $5 RESET; # 如果相同,打印绿色高亮的“Result”}
}' 2.1

可以通过以下命令赋予执行权限:

chmod +x 1.sh

然后再次运行脚本:

./1.sh

运行结果:
在这里插入图片描述

如果继续遇到问题,请确认以下几点:

  • 您的终端是否支持ANSI颜色代码。可以通过简单的echo语句测试,比如 echo -e "\033[41mRed Background\033[0m",这应该输出一个红色背景的文本。

  • 脚本中颜色代码的使用是否正确。请注意,颜色代码前应使用反斜杠(\)而不是正斜杠(/),并且颜色代码周围不能有多余的空格或字符。

  • 确保颜色代码对应的是bash shell的语法。如果您使用的是不同的shell,如zsh或fish,颜色代码的语法可能略有不同。

  • 尝试不要在脚本中使用变量,而是直接在print语以排除变量传递问题。

  • 当使用颜色代码时,需要确保在ANSI颜色代码后面紧跟着文本内容。例如,red white $5 nc 这种使用方式是错误的,因为它将颜色代码和变量混淆在一起了。

  • 结果显示为 “redPASS” 和 “redNOPASS”,这是因为 white 变量包含了字符串 “red”,而不是实际的颜色代码。

在这份脚本中,注意到以下几点:

  • awk 命令中使用 redwhitenc 的方式,确保它们都紧跟着它们需要修饰的文本。
  • 在打印不同颜色时,确保文本紧随颜色代码之后。

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处:http://www.hqwc.cn/news/456806.html

如若内容造成侵权/违法违规/事实不符,请联系编程知识网进行投诉反馈email:809451989@qq.com,一经查实,立即删除!

相关文章

centos7的git使用方法

下载git yum install git git克隆 git clone https...(图片中复制的内容) git提交到远程仓库 git add filename git commit -m "提交日志" git push git首次使用要配置邮箱和用户名 查看提交日志 git log 查看当前提交状态 git status

springboot-web服务迁移Kubernetes

1、搞定基础镜像 docker pull openjdk:8-jre-alpine docker tag openjdk:8-jre-alpine 10.204.82.15/kubernetes/openjdk:8-jre-alpine docker push 10.204.82.15/kubernetes/openjdk:8-jre-alpine 2、springboot-web应用服务打包 3、编写Dockerfile构建镜像 FROM 10.204.82.…

【RL】Basic Concepts in Reinforcement Learning

Lecture1: Basic Concepts in Reinforcement Learning MDP(Markov Decision Process) Key Elements of MDP Set State: The set of states S \mathcal{S} S(状态 S \mathcal{S} S的集合) Action: the set of actions A ( s ) \mathcal{A}(s) A(s)…

跨境电商开店必看!Shopee 开店流程及费用

虾皮电商平台是目前东南亚及台湾领航的电商平台,主要是面向新加坡、马来西亚、菲律宾、台湾、印度尼西亚、泰国和越南七大市场。这一具有强大前景和广阔发展空间的平台,正逐渐吸引着越来越多的商家加入其中。对于想要进军跨境电商市场的商家来说&#xf…

QSpace Pro 一款简洁高效的多窗格文件管理器,灵活且实用!

在日常的工作和生活中,文件管理是不可或缺的一环。尤其是对于我们这些依赖于数字工具的现代人来说,一个高效、便捷且功能强大的文件管理器能大大提升我们的效率。最近,我有幸试用了一款名为QSpace的多窗格文件管理器,它给我留下了…

CTF-show WEB入门--web21

上一阶段的信息泄露已经全部完结了,下一阶段的爆破也由此开始啦~~~ 下面让我们看看web21,这题是个经典的爆破问题 老样子我们先打开题目,查看题目提示: 我们可以看到题目提示为: 爆破什么的,都是基操 还有这题题目…

问题:塑瓷后的牙冠要比完成的牙冠大() #学习方法#其他

问题:塑瓷后的牙冠要比完成的牙冠大() A.10% B.10%-15% C.15%-20% D.20%-30% E.50% 参考答案如图所示

2024清洁能源、环境与智慧城市国际研讨会(ISCEESC2024)

2024清洁能源、环境与智慧城市国际研讨会(ISCEESC2024) 会议简介 2024年清洁能源、环境与智慧城市国际研讨会(ISCEESC2024)将在中国丽江举行。本次会议主要围绕清洁能源、环境和智慧城市等研究领域,旨在为该研究领域的专家学者提供一个国际…

编译原理与技术(三)——语法分析(五)自底向上-LR分析

一、自顶向下的LL(1)与自底向上的LR (一)LL(1)非递归预测分析器及分析表 (二)LR分析器及分析表 二、LR分析 举个例子。 从上面不难看出,LR分析也是由分析表驱动的。那么关键在于构造LR分析表。

谈谈安全对抗的本质

前言 红队和蓝队的兄弟们都辛苦了,趁夜深人静的时候写了一点东西,算是一点心得与体会,谈谈安全对抗的本质,仅供大家参考。 今年的活动,笔者和去年一样,镇守公司,运筹帷幄之中,决胜千…

ELFK日志采 - QuickStart

文章目录 架构选型ELKEFLK ElasticsearchES集群搭建常用命令 Filebeat功能介绍安装步骤Filebeat配置详解filebeat常用命令 Logstash功能介绍安装步骤Input插件Filter插件Grok Filter 插件Mutate Filter 插件常见的插件配置选项:Mutate Filter配置案例: O…

PyTorch 2.2 中文官方教程(十八)

开始使用完全分片数据并行(FSDP) 原文:pytorch.org/tutorials/intermediate/FSDP_tutorial.html 译者:飞龙 协议:CC BY-NC-SA 4.0 作者:Hamid Shojanazeri,Yanli Zhao,Shen Li 注意…