psql 显示 ansi 彩色文本

2024-04-12

My .psqlrc有以下选项

\setenv LESS '-iMSx4 -FXR'
\setenv PAGER 'less'
\pset pager always

我想要着色的 psql 输出是

 {                                                                    +
    \x1B[35m"\x1B[0m\x1B[35mr\x1B[0m\x1B[35m"\x1B[0m: [               +
       \x1B[1m\x1B[92m"\x1B[0m\x1B[32m1\x1B[0m\x1B[1m\x1B[92m"\x1B[0m,+
       \x1B[1m\x1B[92m"\x1B[0m\x1B[32m2\x1B[0m\x1B[1m\x1B[92m"\x1B[0m,+
       \x1B[1m\x1B[92m"\x1B[0m\x1B[32m3\x1B[0m\x1B[1m\x1B[92m"\x1B[0m,+
       \x1B[1m\x1B[92m"\x1B[0m\x1B[32m4\x1B[0m\x1B[1m\x1B[92m"\x1B[0m,+
       \x1B[1m\x1B[92m"\x1B[0m\x1B[32m5\x1B[0m\x1B[1m\x1B[92m"\x1B[0m,+
       \x1B[1m\x1B[92m"\x1B[0m\x1B[32m6\x1B[0m\x1B[1m\x1B[92m"\x1B[0m,+
       \x1B[1m\x1B[92m"\x1B[0m\x1B[32m7\x1B[0m\x1B[1m\x1B[92m"\x1B[0m,+
       \x1B[1m\x1B[92m"\x1B[0m\x1B[32m8\x1B[0m\x1B[1m\x1B[92m"\x1B[0m +
    ]                                                                 +
 }

有没有办法让寻呼机知道\x1Bansi 序列,或者告诉psql显示时不将它们转换为十六进制表示形式?

输出应该看起来像,


The less寻呼机可以被告知filter它的输入文件使用LESSOPEN环境变量。

对于您的情况,这可能是一个脚本的名称,该脚本会更改所有\x1B到 ASCII 转义字符,例如

sed -e 's/\x1B/^[/'

(where the ^[ is a literal control[ character: using controlV when inserting with a text editor helps).

进一步阅读:

  • Unix 课程 - 用“少”显示更多 http://ref.web.cern.ch/ref/CERN/CNL/2002/001/unix-less/
  • 如何在 Linux 中查看日志文件并在查看时应用自定义过滤器? https://stackoverflow.com/questions/2338812/how-can-i-view-log-files-in-linux-and-apply-custom-filters-while-viewing
  • less(1) https://developer.apple.com/library/mac/documentation/Darwin/Reference/ManPages/man1/less.1.html手册页

每条评论:如果psql通过管道调用寻呼机,绕过LESSOPEN(给定一个工作file),您应该将寻呼机设置为执行过滤和分页组合的脚本,例如类似的脚本

#!/bin/sh
perl -pe "s|\\\(x..)|chr(hex(\$1))|ge" | less -iMSx4 -FXR

since perl如果没有给出文件名,则从管道工作。

EDIT:

无需使用外部脚本的解决方案psql only,

\setenv LESS '-iMSx4 -FXR'
\setenv PAGER 'perl -pe \'s|\\\\(x..)|chr(hex($1))|ge\' | less'
本文内容由网友自发贡献,版权归原作者所有,本站不承担相应法律责任。如您发现有涉嫌抄袭侵权的内容,请联系:hwhale#tublm.com(使用前将#替换为@)

psql 显示 ansi 彩色文本 的相关文章

  • postgreSQL 在 WAMP 上的集成

    我刚刚在 Windows 7 上安装了 postgreSQL 我正在尝试将 postgreSQL 与 WAMP 服务器集成 为此 我在 httpd conf 和 php ini 文件中进行了以下更改 1个加载模块c path to libp
  • 如何在bash中使用jq从变量中包含的json中提取值

    我正在编写一个 bash 脚本 其中存储了一个 json 值 现在我想使用 Jq 提取该 json 中的值 使用的代码是 json val code lyz1To6ZTWClDHSiaeXyxg redirect to http examp
  • 如何存储没有年份部分的生日?

    类似问题 Postgres 生日选择 https stackoverflow com questions 6913719 postgres birthdays selection 我们正在设计一项新功能 我们将存储人们生日的月份和日期部分
  • 在 Postgres 中存储加密数据 [关闭]

    Closed 这个问题是基于意见的 help closed questions 目前不接受答案 我需要在 Postgres 中以加密形式存储某些数据 显然 我需要对其进行加密 存储 并且能够读取和解密 做这个的最好方式是什么 The bes
  • 使用连接池后如何处理过多的并发连接?

    Scenario 假设您有一个拥有大量流量的网站或应用程序 即使使用数据库连接池 性能也会受到真正的打击 站点 应用程序甚至可能崩溃 因为并发连接太多 Question 人们有什么选择来处理这个问题 我的想法 我在想有这个问题的人可以创建多
  • 添加要在给定命令中运行的 .env 变量

    我有一个 env 文件 其中包含如下变量 HELLO world SOMETHING nothing 前几天我发现了这个很棒的脚本 它将这些变量放入当前会话中 所以当我运行这样的东西时 cat env grep v xargs node t
  • 如何使用shell脚本从json字符串中grep特定字段值[重复]

    这个问题在这里已经有答案了 下面是文件中可用的 JSON 字符串 我需要从中提取值status在 shell 脚本中 预期输出 status success 响应 json eventDate null dateProccessed nul
  • postgresql 不同的不工作

    我使用以下代码从数据库获取值 但是当我编写这段代码时 测试看看问题出在哪里 我注意到查询没有从数据库中获取不同的值 这是查询 select distinct ca id as id acc name as accName pIsu name
  • PLpgSQL 函数不返回匹配的标题

    当给定文本时 我试图返回电影名称以及演员和工作人员的数量 当我输入字符串并使用 ilike 时 我的查询返回不匹配的标题 我之前创建了一个视图 其中包含要在函数中输入的电影标题和工作人员数量 我的代码是 create or replace
  • 使用 awk 读取文件并搜索另一个文件

    我正在读取一个文件 每行都有数字 我需要搜索另一个满足这些数字和其他条件的文件 我正在尝试使用 awk 来做到这一点 但遇到了问题 File a txt 1476 1477 1497 现在我需要打印第 12 列包含这些数字的行以及第 3 列
  • shell-out 值到 md5(加密)函数

    我正在寻找一种解决方案 我正在构建 JSON 记录 并需要在 JQ 中生成一些文本 但将此文本通过管道传输到 MD5 求和函数并将其用作键的值 echo first John last Big jq id first last md5 通过
  • Mac 上用户“postgres”的密码身份验证失败

    我在创建新的 psql 用户时遇到问题 因为我无法以 postgres 身份登录 psql 我已尝试过 1 sudo u postgres psql 2 sudo u postgres createuser img site P s e 他
  • 当 grep "\\" XXFile 我得到“尾随反斜杠”

    现在我想查找是否有包含 字符的行 我试过grep XXFile但它暗示 尾随反斜杠 但当我尝试时grep XXFile没关系 谁能解释一下为什么第一个案例无法运行 谢谢 区别在于 shell 处理反斜杠的方式 当你写的时候 在双引号中 sh
  • Rails 中 WHERE 子句中的 ALL 运算符

    关联关系如下图所示 InstructorStudent has many fees Fee belongs to instructor student 我想要获得在所有给定数组中具有每月详细信息的指导学生 如果其中任何一个中不存在每月详细信
  • 如何修复“缺少表的 FROM 子句条目”错误

    我正在尝试根据游戏 ID 获取平台名称 我有如下三个表 我正在尝试加入它们以获得所需的结果 Games Id 1 2 3 4 Game Platforms Id game id platform id 1 1 1 2 1 2 3 3 3
  • postgresql 选择不同的最新记录

    我有一个像这样的表 id fkey srno remark date 1 A001 1 2 A001 2 3 A002 1 4 A003 1 5 A002 2 我想要基于 max srno 的不同最新记录 例如 2 A001 2 4 A00
  • PostgreSQL 和锁定

    希望一些比我更聪明的 DBA 可以帮助我找到一个好的解决方案来完成我需要做的事情 为了便于讨论 我们假设我有一个名为 work 的表 其中包含一些列 其中一列表示给定客户端对该行工作的所有权 场景是 我将连接 2 个客户端并轮询表以查找要完
  • 我的用例可以合并到单个查询中而不影响性能吗?

    我主要着眼于改善表现查询的内容以及是否能够解决单一查询对于我的用例之一 解释如下 涉及到2张表 Table 1 EMPLOYEE column1 column2 email1 email2 column5 column6 Table 2 E
  • 使用 SQL 完全复制 postgres 表

    免责声明 这个问题和栈溢出问题类似here https stackoverflow com questions 198141 copy a table including indexes in postgres 但这些答案都不适用于我的问题
  • 使用所有连接的 Flask unittest 和 sqlalchemy

    在进行了大约 100 个单元测试后 我刚刚在 Flask 应用程序上运行单元测试时遇到了问题 所有单元测试都会通过 但是当一次全部运行时 它们将失败并出现以下错误 OperationalError OperationalError FATA

随机推荐

  • 有没有好的方法将外部资源数据包含到 Rust 源代码中?

    想象一下下面的例子 let SHADER static str version 140 attribute vec2 v coord uniform sampler2D fbo texture varying vec2 f texcoord
  • 自定义二进制数据的 cURL POST(不是表单内容)

    以下代码片段成功发送 POST 请求但未发送 sendStream 中的数据 该流有效且包含数据 这已被验证 的问题 curl setopt request CURLOPT HTTPHEADER array Content type app
  • 获取 JSON 中未知值后面的字符串

    我使用维基百科的 API 来获取有关页面的信息 API 给了我这样的 JSON query pages 188791 pageid 188791 ns 0 title Vanit u00e9 langlinks lang bg Vanita
  • React Native expo 图像选择器将图像上传到 firebase 存储(v9)崩溃

    我正在尝试将从 expo 图像选择器中选择的图像上传到 firebase 存储 因为我正在使用 expo 我检查了 expo 图像选择器 git 并找到了 firebase 的 uploadImageAsync 所以我复制了它并只做了一点更
  • Jquery 对话框仅打开一次

    全部 我知道有人问过这个问题 但以前的解决方案似乎不适用于我的情况 我有一个简单的表 每行都有许多记录 最后一列是删除超链接 我正在尝试使用对话框弹出并确认删除 如果我使用对话框所在的 div 的显式名称 我将其恰好放置在表格所在的 div
  • Google 通讯录广播/推送/通知/Hook API

    我正在寻找一种在编辑 删除或创建谷歌方面的联系人时接收来自谷歌的通知 广播的方法 我查看了 Google Contacts API 文档 但找不到任何内容 我认为一定有办法 例如Android 肯定不会轮询更改 Google Contact
  • 文本底部的几个像素被切断

    我实在搞不懂这个案子到底是怎么回事 在多行文本上 底部的几个像素被切除 Setting line height normal 为我工作
  • JavaScript - 如何等待/SetTimeOut/睡眠/延迟

    这又是我的剪刀石头布游戏 目前 用户无法看到发生了什么 因为在提示输入 石头 布或剪刀 后 他们会立即重新提示 问题是我怎样才能使程序延迟 以便他们至少可以读取正在发生的事情 我读到 JavaScript 中不存在 sleep 我正在尝试使
  • Laravel bigInteger 在关系中四舍五入为 int

    好吧 这是我的迁移 public function up Schema create instagrams function Blueprint table table gt bigInteger id gt unsigned gt pri
  • sql server 中 System.Version 的数据类型

    最好的储存方式是什么系统版本 http msdn microsoft com en us library system version aspx在 SQL Server 中 当我使用varchar类型时 按asc排序的结果是 1 0 0 0
  • 找不到方法 getAndroidDeviceInfo 的实现

    我正在尝试运行这个example https github com flutter plugins tree master packages device info example在插件页面中 我收到这个错误 I flutter 3273
  • 如何在重定向到我的应用程序后关闭 Android 浏览器?

    重定向到我的应用程序后如何关闭浏览器 有什么办法可以做到这一点吗 据我所知 不可能影响其他活动 例如关闭等
  • 删除列表中复杂度优于 O(n^2) 的子字符串

    我有一个包含许多单词 100 000 的列表 我想做的是删除列表中每个单词的所有子字符串 因此 为了简单起见 我们假设我有以下列表 words Hello Hell Apple Banana Ban Peter P e 以下输出是所需的 H
  • 同时获取logcat和内核日志

    我正在尝试通过以下命令获取日志 logcat 和 kmsg logcat v 时间 f dev kmsg cat proc 但是我不确定日志文件存储在哪里以及它的名称是什么 我如何识别它 好的 这是谷歌快速搜索的结果 安卓日志系统 http
  • Haskell 中的 undefined 和 Java 中的 null 有什么区别?

    两者的类型都是所有类型的交集 无人居住 两者都可以在代码中传递而不会失败 直到尝试评估它们为止 我能看到的唯一区别是 在 Java 中 有一个漏洞允许null仅针对一个操作进行评估 即引用相等比较 而在 Haskell 中undefined
  • 设置特定文件的 AWS S3 过期时间

    我阅读了 PHP AWS SDK 文档 https docs aws amazon com aws sdk php v2 api class Aws S3 S3Client html https docs aws amazon com aw
  • 二分布局Gephi 0.9.1

    我的问题简单得令人尴尬 how do i plot a bipartite graph in Gephi with a layout like the one you see in the attached image 我真的无法在Geph
  • 是否可以通过显式类型转换将基类对象分配给派生类引用?

    是否可以在 C 中使用显式类型转换将基类对象分配给派生类引用 我已经尝试过了 它会产生运行时错误 不可以 对派生类的引用实际上必须引用派生类的实例 或 null 否则你会期望它如何表现 例如 object o new object stri
  • Jetty 返回 403 Forbidden

    您好 我正在将我的网络应用程序从 tomcat 移植到 Jetty 我正在使用 Jetty runner 来启动它 我使用以下命令来启动 Jetty java jar jetty runner jar port path url path
  • psql 显示 ansi 彩色文本

    My psqlrc有以下选项 setenv LESS iMSx4 FXR setenv PAGER less pset pager always 我想要着色的 psql 输出是 x1B 35m x1B 0m x1B 35mr x1B 0m