我需要grep整个目录中的字符串,并且我得到了大约50个结果。我想为每一行的第二行着色,无论是文字颜色还是背景颜色。最好是一个脚本,我可以将任何命令的输出传递给它,并使其吐出相同的(尽管是彩色的)输出。在bash中替换输出线的简单方法
9
A
回答
13
不是很漂亮,但做的伎俩:
(这个保存到foo.bash
做grep whatever wherever | ./foo.bash
)
#!/bin/bash
while read line
do
echo -e "\e[1;31m$line"
read line
echo -e "\e[1;32m$line"
done
echo -en "\e[0m"
在这里你可以找到list of color codes in bash。
4
Perl安装在许多系统上。你可以把它替代了你:
grep -r whatever somedir/ | perl -pe '$_ = "\033[1;29m$_\033[0m" if($. % 2)'
在Perl $.
可以$INPUT_LINE_NUMBER
被取代,只要你喜欢的可读性。
2
这里是一样的python;
import sys
for line_number,line in enumerate(sys.stdin.readlines()):
print '%s[1;3%dm%s%s[0m' % (chr(27),(line_number % 2+1),line,chr(27)),
2
这是为了描述我假定的包装线? 此shell脚本使用256 color调色板中的背景颜色 ,以免干扰grep --color可能会执行的其他突出显示。
#!/bin/sh
c=0
while read line; do
[ $(($c%2)) -eq 1 ] && printf "\033[48;5;60m"
printf "%s\033[0m\n" "$line"
c=$(($c+1))
done
这样做需要提醒的是行内的反斜杠等,将被截断, 所以把它当作伪代码重新实现
+0
Hah ,如果我已经知道 - 色彩,我可能不需要这个,但都是好的。感谢您深思熟虑的解决方案。 – naught101 2009-12-02 12:03:20
相关问题
- 1. SQL输出中的简单字替换
- 2. 简单的线替换未在Java中
- 3. 简单的BASH字符串替换
- 4. 在mustache.php中替换php switch语句的简单方法?
- 5. 在Bash中替换垂直线
- 6. 最简单的输出简单MIDI文件的方法?
- 7. 将一种方法的输出替换为另一种方法的输出
- 8. 替换输出中的单词。 PHP
- 9. 简单的方法来替换Visual Studio中的组件C#
- 10. 整个阵列的简单替换失败 - 意外输出
- 11. 最简单的方法在线
- 12. 如何在bash中垂直替换控制台输出
- 13. 简单的方法在新线程中调用方法
- 14. 简单的方法来查找在bash中的宏的细节?
- 15. 在XML属性中替换非法字符的最简单方法
- 16. 如何从线替换文本在bash
- 17. 在bash中用符号链接替换文件的DRYest方法
- 18. Python:有没有简单的方法来替换字符串,而不是替换()
- 19. 替换bash脚本中的单词
- 20. 简单的bash - 在*
- 21. 在bash中打印结构化SQL SELECT的简单方法
- 22. 简单的方法来在bash中像这样溢出一个字符串?
- 23. Python:简单的方法来替换嵌套的namedtuple属性?
- 24. 简单的替换部分NSMutableString/NSString的方法
- 25. 在DB2中用大量替换空值的简单方式
- 26. 很简单OSX的bash脚本:回声没有给出输出
- 27. 简单的Javascript HTML替换
- 28. 简单的ascii替换 - Javascript
- 29. 简单的SED替换
- 30. 查找和替换 - 简单的bash脚本
很整齐,也可以用作功能,避免第二个脚本。 – 2009-12-02 09:07:24
我喜欢这个,但是忘记了之后重置: echo -en'\ e [0m'; – naught101 2009-12-02 12:00:02
@ naught101好点,现在修复。 – Kimvais 2009-12-02 14:21:35