相关疑难解决方法(0)

我可以在 PS1 提示中使用哪些颜色代码?

我在 PS1 提示中使用了几种颜色,例如

\033]01;31\] # pink
\033]00m\]   # white
\033]01;36\] # bold green
\033]02;36\] # green
\033]01;34\] # blue
\033]01;33\] # bold yellow
Run Code Online (Sandbox Code Playgroud)

在哪里可以找到我可以使用的颜色代码列表?

我查看了Colorize Bash Console Color,但它没有回答我关于实际代码列表的问题。

如果还有一个更易读的表格,那就太好了。

另见https://unix.stackexchange.com/a/127800/10043

colors bash prompt

173
推荐指数
4
解决办法
22万
查看次数

为什么不建议在标准命令上使用别名?

例如,我在~/.bashrc文件(或等价物)中看到的一个常见别名是

alias rm='rm -i'
Run Code Online (Sandbox Code Playgroud)

但是,我看到人们建议不要这样做,因为

  1. 别名可能不存在于另一个系统上,并且由于您对 粗心大意rm,您无意中删除了一些重要的内容。[1]
  2. 通过使用此别名,您实际上可以训练自己在每个命令之后键入y或执行,这与整个目的背道而驰。yesrm

还有其他理由不建议这样做吗?可能有些程序只是简单地调用rm而不是\rm,并且对它进行别名可能会给他们带来问题?

rm仅将其用作示例,但我也看到过类似别名cp或被mv别名覆盖的其他命令。就个人而言,我正在慢慢训练自己使用这样的别名来代替rm -i

alias trash=`mv -v -t $HOME/.Trash`
Run Code Online (Sandbox Code Playgroud)

command-line shell alias

20
推荐指数
4
解决办法
5867
查看次数

`highlight` 命令

是否有一个命令可用于在将整个字符串传递给 stdout 的同时轻松突出显示(使用颜色、粗体文本或倒置的背景/前景)标准输入中的特定字符串?我正在考虑构建它,但如果它已经存在,我宁愿使用它。一些理想的功能:

  1. 单独的高亮字符串以不同的方式以自动方式突出显示。例如,第一个字符串将以红色突出显示,第二个以绿色突出显示,第三个以蓝色突出显示,无需手动配置
  2. 检测颜色支持并回退到粗体/反转/其他可用的突出显示方法。
  3. 允许匹配正则表达式和文字字符串。
  4. 如果匹配项重叠,最好做一些聪明的事情,例如“foobar”和“barbar”。
  5. 除了添加颜色代码之外,stdin 和 stdout 之间没有任何修改。

shell colors highlighting text-processing

15
推荐指数
2
解决办法
1万
查看次数

如何在“cat”的输出中突出显示一个单词?

我可以执行以下操作以查看“cat”的输出中是否有可用的单词:

cat filename | grep word
Run Code Online (Sandbox Code Playgroud)

这将过滤输出并仅显示那些包含“word”的行。现在,是否可以只突出显示输出中的“单词”而不删除其他行?

highlighting cat

13
推荐指数
2
解决办法
3万
查看次数

颜色匹配但也打印其他线条

我有一个别名:alias grep='grep --color=auto'. 我希望有一些方法不仅可以打印匹配行,还可以打印所有行,并且只打印颜色匹配模式。我怀疑是否有一个选项可以做到这一点grep。任何其他工具?或者想法如何实现这一目标?

grep text-processing

5
推荐指数
2
解决办法
2968
查看次数

在不影响文本结构的情况下突出显示单词

$cat contents.txt

cat-1.15

cat-1.15

cat-1.15
cat-1.18
Run Code Online (Sandbox Code Playgroud)

上面的输出有空行

$cat contents.txt | grep cat 导致单词 cat 被突出显示,但结果文本也被合并,消除了空行

cat-1.15
cat-1.15
cat-1.15
cat-1.18
Run Code Online (Sandbox Code Playgroud)

如何在不影响文本结构的情况下 grep 突出显示,以便唯一的区别是突出显示的 grep 术语?

grep sed awk

3
推荐指数
1
解决办法
653
查看次数

图案高亮命令

伙计们,我想知道是否存在只突出显示输入文本的某些部分的命令,而不是像grep这样过滤它。

举个例子,假设以下输入文本:

foo bar
gaz das
xar
Run Code Online (Sandbox Code Playgroud)

grep "bar\|gaz" input将打印前两行,突出显示bargaz,但不会显示xar

我知道我可以简单地为-C参数设置一个大常量,因此它会“始终”显示上下文,例如: grep -C1000 "bar\|gaz" input,但我不确定这是否有效,或者是否有更好的工具。

command-line grep highlighting

2
推荐指数
1
解决办法
441
查看次数

标签 统计

grep ×3

highlighting ×3

colors ×2

command-line ×2

shell ×2

text-processing ×2

alias ×1

awk ×1

bash ×1

cat ×1

prompt ×1

sed ×1