给定一个命令,其 STDOUT 打印到多行,我该如何格式化每一行(例如,添加一个字符串、更改颜色等)?

给定一个命令,其 STDOUT 打印到多行,我该如何格式化每一行(例如,添加一个字符串、更改颜色等)?

好的,这里有一个设计出来的例子,但这是我能想到的产生我想要改变的条件的最简单的例子。

我正在尝试运行黑框命令并更改多行输出。例如git diff --name-only,输出当前分支中已更改的每个未提交文件,每行一个:

/my/path/altered-file.ex1
/my/path/altered-file.ex2
/my/path/altered-file.ex3

现在,假设我不打算对它们进行任何测试(例如,不会有“唯一的风格行的文件名如果......”),我只是希望修改 - 外观上 - 将它们全部输出到屏幕的方式:

   -=> /my/path/altered-file.ex1 <=-
   -=> /my/path/altered-file.ex2 <=-
   -=> /my/path/altered-file.ex3 <=-

和/或可能将它们涂成黄色,我们称之为(再次:这里是人为的例子),基于相同的假设,即每一行都将获得与所有其他行相同的美容处理(也就是说,所有将是黄色和/或所有将获得相同的预先/附加格式)。

我确信存在某种机制可以将命令通过管道传输到某个东西中(???xargs见鬼,某些语法我宿醉后根本无法理解?),然后将其格式化并再次输出(我知道这是一个愚蠢的问题,但我已经在这里绞尽脑汁了半个小时;我似乎无法强迫我的大脑让任何东西工作,哈哈)。awktputecho

有人有什么好的建议吗?

相关内容