高亮显示不一致

news2024/10/7 10:13:21

先准备好测试文件

[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.coloradmin.cn/o/1443584.html

如若内容造成侵权/违法违规/事实不符,请联系多彩编程网进行投诉反馈,一经查实,立即删除!

相关文章

.NET命令行(CLI)常用命令

本文用于记录了.NET软件开发全生命周期各阶段常用的一些CLI命令,用于开发速查。 .NET命令行(CLI)常用命令 项目创建(1)查看本机SDK(2)查看本机可以使用的.NET版本(3)生成…

数据库管理-第14期 Oracle Vector DB AI-01(20240210)

数据库管理149期 2024-02-10 数据库管理-第149期 Oracle Vector DB & AI-01(20240210)1 机器学习2 向量3 向量嵌入4 向量检索5 向量数据库5 专用向量数据库的问题总结 数据库管理-第149期 Oracle Vector DB & AI-01(20240210&#xf…

2024年腾讯云4核8G12M服务器性能测评,适合哪些使用场景?

腾讯云4核8G服务器适合做什么?搭建网站博客、企业官网、小程序、小游戏后端服务器、电商应用、云盘和图床等均可以,腾讯云4核8G服务器可以选择轻量应用服务器4核8G12M或云服务器CVM,轻量服务器和标准型CVM服务器性能是差不多的,轻…

chatgpt4.0怎么购买

通过虚拟卡 WildCard 的方式来升级 GPT 4.0 最快了,大概2分钟就可以升级完成, 而且升级 GPT 4.0 价钱也不贵,虚拟卡一年10美元,GPT4 每个月也才 20美元。如果你觉得 GPT 4.0 对你可能有帮助,那就赶快来升级吧! GPT-4.0…

【机器学习300问】23、什么是主动学习?

一、带标签的数据很难获得 机器学习中,比如监督学习需要带有标签的训练样本才能得到模型,然而在以下几种场景中去获取带有标签的数据是很难的: 自动驾驶场景:对自动驾驶汽车收集的高清地图数据或实时摄像头数据进行标注&#xff…

Vue3自定义PostCss插件

Vue3自定义PostCss插件 插件功能: 实现自动转px为vw功能 1. 创建插件ts文件2. tsconfig.node.json引入插件3. vite.config.ts增加插件配置4. 编写插件内容5. 示例 插件功能: 实现自动转px为vw功能 px 固定单位,不会随着屏幕的变化而变化 vh vw 相对于视口高宽进行控制 1. 创建…

使用vue-client-only 解决组件不兼容SSR问题

目录 前言 一、解决方案 1.基于Nuxt 框架的SSR应用 2.基于vue2框架的应用 3.基于vue3框架的应用 二、总结 往期回顾 前言 最近在我的单页面SSR应用上开发JSON编辑器功能,在引入组件后直接客户端跳转OK,但是在直接加载服务端渲染的时候一直报这…

DS:顺序栈的实现

创作不易,友友们给个三连吧!! 一、栈的概念及结构 栈:一种特殊的线性表,其只允许在固定的一端进行插入和删除元素操作。进行数据插入和删除操作的一端称为栈顶,另一端称为栈底。栈中的数据元素遵守后进先…

2024年度十余爆款爱心表白代码,还不进来瞅瞅?(一)

个人名片: 🐼作者简介:一名大三在校生,喜欢AI编程🎋 🐻‍❄️个人主页🥇:落798. 🐼个人WeChat:hmmwx53 🕊️系列专栏:🖼️…

提升MySQL访问性能

1. 读写分离 设置多个从数据库,从数据库可能在多个机器中。写操作在主数据库进行主数据库提供数据的主要依据 缓解了MySQL的读压力。 主从复制原理图如下 如果对于读操作有一致性要求,那么读操作去主数据库即可。 2. 连接池 因为一个请求必须要…

初步探索Pyglet库:打造轻量级多媒体与游戏开发利器

目录 pyglet库 功能特点 安装和导入 安装 导入 基本代码框架 导入模块 创建窗口 创建控件 定义事件 运行应用 程序界面 运行结果 完整代码 标签控件 常用事件 窗口事件 鼠标事件 键盘事件 文本事件 其它场景 网页标签 音乐播放 图片显示 祝大家新…

图神经网络与图表示学习: 从基础概念到前沿技术

目录 前言1 图的形式化定义和类型1.1 图的形式化定义1.2 图的类型 2 图表示学习2.1 DeepWalk: 融合语义相似性与图结构2.2 Node2Vec: 灵活调整随机游走策略2.3 LINE: 一阶与二阶邻接建模2.4 NetMF: 矩阵分解的可扩展图表示学习2.5 Metapath2Vec: 异构图的全面捕捉 3 图神经网络…

Hive-架构与设计

架构与设计 一、背景和起源二、框架概述1.设计特点 三、架构图1.UI交互层2.Driver驱动层3.Compiler4.Metastore5.Execution Engine 四、执行流程1.发起请求2.获取执行计划3.获取元数据4.返回元数据5.返回执行计划6.运行执行计划7.运行结果获取 五、数据模型1.DataBase数据库2.T…

【后端高频面试题--Mybatis篇】

🚀 作者 :“码上有前” 🚀 文章简介 :后端高频面试题 🚀 欢迎小伙伴们 点赞👍、收藏⭐、留言💬 后端高频面试题--Mybatis篇 什么是Mybatis?Mybatis的优缺点?Mybatis的特点…

例36:打开文件读出文件内容

1.建立一个EXE工程,在主窗体上放一个按钮,如图32。 图32 在按钮的单击事件中输入代码: Sub Form1_Command1_BN_Clicked(hWndForm As hWnd, hWndControl As hWnd)Dim s as StringDim 文件 As CWSTR FF_OpenFileDialog(hWndForm,_"打开…

【JAVA WEB】 百度热榜实现 新闻页面 Chrome 调试工具

目录 百度热榜 新闻页面 Chrome 调试工具 --查看css属性 打开调试工具的方式 标签页含义 百度热榜 实现效果&#xff1a; 实现代码 <!DOCTYPE html> <html lang"en"> <head><meta charset"UTF-8"><meta name"vi…

React18原理: Fiber架构下的单线程CPU调度策略

概述 React 的 Fiber 架构, 它的整个设计思想就是去参考CPU的调度策略CPU现在都是多核多进程的&#xff0c;重点研究的是 CPU是单核单线程&#xff0c;它是如何调度的?为什么要去研究单线程的CPU&#xff1f; 浏览器中的JS它是单线程的JS 的执行线程和浏览器的渲染GUI 是互斥…

【从Python基础到深度学习】4. Linux 常用命令

1.配置root用户密码 root用户为系统默认最高权限用户&#xff0c;其他用户密码修改命令与root用户修改密码命令相同 sudo passwd root 2.添加用户&#xff08;henry&#xff09; sudo useradd -m henry -s /bin/bash 3.配置henry用户密码 Xshell下连接新用户&#xff08;hen…

Idea Git Review插件

idea git plugin 添加了一些常用的小插件 可以右键打开git bash窗口 可以右键选中文字点击baidu fanyi 可以通过搜索git用户名 指定开始时间查询某个版本自己提交的所有代码文件 可以通过点击蓝色行数&#xff0c;跳转到指定的改动代码块 资源地址&#xff1a; git-pl…

专业课135+总分400+西安交通大学815/909信号与系统考研电子信息与通信工程,真题,大纲,参考书。

经过将近一年的考研复习&#xff0c;终于梦圆西安交大&#xff0c;今年专业可815(和909差不多)信号与系统135&#xff0c;总分400&#xff0c;回想这一年的复习还是有很多经验和大家分享&#xff0c;希望可以对大家复习有所帮助&#xff0c;少走弯路。 专业课&#xff1a; 这…