我需要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