Никакое различие.
Заключение в кавычки от Sun:
Эти
[]
может появиться как часть типа в начале объявления, или как часть оператора объявления для конкретной переменной или обоих, как в этом примере:byte[] rowvector, colvector, matrix[];
Это объявление эквивалентно:
byte rowvector[], colvector[], matrix[][];
Не очень красиво, но помогает:
(сохраните это в foo.bash
и выполните grep где угодно | ./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"
Здесь вы можете найти список цветовых кодов в bash .
Perl установлен во многих системах. Вы можете выбрать альтернативу:
grep -r whatever somedir/ | perl -pe '$_ = "\033[1;29m$_\033[0m" if($. % 2)'
В Perl $.
можно заменить на $ INPUT_LINE_NUMBER
, если вы предпочитаете удобочитаемость.
и здесь то же самое в 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)),
Я полагаю, это необходимо для обозначения обернутых строк? Этот сценарий оболочки использует цвет фона из палитры 256 цветов , чтобы не мешать другому выделению, которое может сделать 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
Здесь есть оговорка, что обратная косая черта и т. д. внутри строки будет искажена, поэтому рассматривайте это как псевдокод для повторной реализации