Проблема, с которой Вы сталкиваетесь, состоит в том, что оболочка сначала анализирует командную строку и видит две простых команды, разделенные &&
оператор: find . -iname \*.csv -exec grep foo {}
, и echo {} \;
. Заключение в кавычки &&
(find . -iname \*.csv -exec grep foo {} '&&' echo {} \;
) обходы, что, но теперь команда, выполняемая find
что-то как grep
с аргументами foo
, wibble.csv
, &&
, echo
и wibble.csv
. Необходимо сообщить find
выполнять оболочку, которая интерпретирует &&
оператор:
find . -iname \*.csv -exec sh -c 'grep foo "$0" && echo "$0"' {} \;
Обратите внимание что первый аргумент после sh -c SOMECOMMAND
$0
, нет $1
.
Можно сэкономить время запуска процесса оболочки для каждого файла путем группировки вызовов команды с -exec … +
. Для простоты обработки передайте некоторое фиктивное значение как $0
так, чтобы "$@"
перечисляет имена файлов.
find . -iname \*.csv -exec sh -c 'for x in "$@"; do grep foo "$x" && echo "$x"; done' \ {} +
Если команда оболочки является всего двумя программами, разделенными &&
, find
может сделать задание отдельно: запишите два последовательных -exec
действия и второе будут только выполняться, если первый выйдет с состоянием 0.
find . -iname \*.csv -exec grep foo {} \; -exec echo {} \;
(Я принимаю это grep
и echo
только для цели иллюстрации, как -exec echo
может быть заменен -print
и получающийся вывод не особенно полезен так или иначе.)
Переменная TOPCOLORS в этом top
(также называемый unixtop), не доступно в версии, которую Вы используете. Это сначала появилось в версии 3.6 этой утилиты, как указано в Страницах с цветными иллюстрациями файла README. По некоторым причинам кажется, что обычные BSD не включают обновленную версию вершины (FreeBSD 9.1 имеет 3.5beta12).
Если можно установить или скомпилировать обновленную версию, страница справочника должна дать Вам больше информации о том, как выбрать цвета. В версии 3.8beta1, именно это это печатает:
Указывает цвета для использования и условия, для которых они должны использоваться. В настоящее время только числа в сводной области дисплея могут быть окрашены. В будущей версии будет возможно выделить числа в области дисплея процесса также. Переменная среды является единственным способом указать цвет: нет никакого эквивалентного параметра командной строки. Обратите внимание, что переменная среды TOPCOLOURS также понята. Британское написание имеет приоритет. Использование цвета только работает над терминалами, которые понимают и обрабатывают escape-последовательности цвета ANSI.
Переменная среды является последовательностью спецификаций цветов, разделенных двоеточиями. Каждая спецификация принимает форму tag=min,max#code
где
tag
название значения для проверки,min
и max
укажите диапазон для значения, иcode
цветовой код ANSI.Несколько цветовых кодов могут быть перечислены и разделены с точками с запятой. Отсутствие min
подразумевает самое низкое значение (обычно 0) и отсутствие max
подразумевает бесконечность. Запятая должна всегда присутствовать.
При определении чисел для средних чисел загрузки они должны быть умножены на 100. Например, спецификация:
1min=500,1000#31
указывает, что среднее число загрузки 1 минуты между 5 и 10 должно быть отображено в красном.Атрибуты цвета могут быть объединены. Например, спецификация:
5min=1000,#37;41
указывает, что 5-минутное среднее число загрузки выше, чем 10 должно быть отображено с белыми символами на красном фоне.Называют специальный тег header
используется для управления цветом заголовка для дисплея процесса. Это должно быть указано без нижних и верхних пределов, конкретно header=,#
сопровождаемый цветовым кодом ANSI.
Вы видите список цветовых кодов, распознанных этой установкой вершины с -T
опция. Это также покажет текущий набор тестов, используемых для цветного выделения, как указано в среде.
(конец извлечения страницы справочника)
color.h
файл от исходного кода перечисляет теги, и кодирует утилиту, понимает. Теги:
/*
* These color tag names are currently in use
* (or reserved for future use):
*
* cpu, size, res, time, 1min, 5min, 15min, host
*/
И цвет является ANSI:
/*
* Valid ANSI values for colors are:
*
* 0 Reset all attributes
* 1 Bright
* 2 Dim
* 4 Underscore
* 5 Blink
* 7 Reverse
* 8 Hidden
*
* Foreground Colours
* 30 Black
* 31 Red
* 32 Green
* 33 Yellow
* 34 Blue
* 35 Magenta
* 36 Cyan
* 37 White
*
* Background Colours
* 40 Black
* 41 Red
* 42 Green
* 43 Yellow
* 44 Blue
* 45 Magenta
* 46 Cyan
* 47 White
*/
Используя следующую установку, можно получить представление о возможностях (здесь для вершины 3.8beta1 скомпилированный на FreeBSD):
export TOPCOLORS="header=,#1\
:1min=,399#32:1min=400,799#33:1min=800,#31\
:5min=,299#32:5min=300,599#33:5min=600,#31\
:15min=,199#32:15min=200,399#33:15min=400,#31\
:cpu.user=,9#32:cpu.user=10,49#33:cpu.user=50,#31\
:cpu.system=,9#32:cpu.system=10,49#33:cpu.system=50,#31\
:cpu.interrupt=,9#32:cpu.interrupt=10,49#33:cpu.interrupt=50,#31"
Вызов к top -T
непосредственно покажет Вам, если вершина поймет цветную установку, Вы объявили. Это также перечислит все понятые теги (который в моем случае, где несколько отличающийся от содержания color.h
файл).
В различных системах UNIX используются альтернативы. В соответствии с Linux Вы обычно находите top
утилита, прибывающая из procps пакета. Можно также установить htop, который является хорошей красочной альтернативой, которая также доступна на OSX и FreeBSD (где это полагается на уровень Linux), но AFAIK не на Солярисе.
PI USB + Ethernet поступает из одного тупая настольного чипа, который подключается к одному порту на Pi GPU = то есть USB Ethernet Dongle не будет просто «Link Direct», чтобы встроить Ethernet
, когда вы попытаетесь перенести Данные из одного интерфейса на другую пропускную способность выполняются, поскольку каждый байт должен быть прочитан CPU, подождите, пока ЦП сообщает GPU выбрать другой интерфейс (на внешнем чипе), после чего ЦП может записывать данные ГПУ и выход на другой интерфейс.
Конечно, это более эффективно читать и записывать «блоки» данных одновременно, однако в то время как PI отправляет блок данных на один интерфейс, другой отключен, так что что-то происходит будет «сброшено» и должны быть повторно переданы ...
В зависимости от того, как кодируются драйверы Ethernet & USB 'Dongle, шансы - это ваши 100-метровые Ethernet, будут уменьшены менее 10 мбс (я видел некоторые отчеты в диапазоне KBS)
-121--105493-Удачный пример выше. Я попробовал что-то намного проще (хотя и немного более привлекательным) на FreeBSD 10.1. Мне нужно было установить верхнюю часть 3.8 из источника. Следующие работы Fomr CSH / TCSH
setenv TOPCOLORS "header=,#35;1:1min=,#31;1:5min=,#31;1:15min=,#31;1:cpu.user=,#32:cpu.system=,#32:cpu.nice=,#32:cpu.interrupt=,#32:cpu.idle=,#32:memory.wired=,#36:memory.active=,#36:memory.inact=,#36:memory.cache=,#36:memory.buf=,#36:memory.free=,#36:kernel.ctxsw=,#33:kernel.trap=,#33:kernel.intr=,#33:kernel.soft=,#33:kernel.fork=,#33:kernel.flt=,#33:kernel.pgin=,#33:kernel.pgout=,#33:kernel.fr=,#33:swap.total=,#34;1:swap.used=,#34;1:swap.free=,#34;1:swap.inuse=,#34;1:swap.in=,#34;1:swap.out=,#34;1"
Не совсем то, что вы ищете, но я нашел этот .toprc
, который работает с версией 3.3.9 и более поздних версий и устанавливает где-то здесь собственные цвета:
RCfile для "сверху с окнами" Id: a, Mode_altscr = 0, Mode_irixps = 1, Delay_time = 3.000, Curwin = 0 Def fieldscur = AEHIOQTWKNMbcdfgjplrsuvyzX winflags = 63800, sortindx = 10 , maxtasks = 0 summclr = 2, msgsclr = 1, headclr = 3, taskclr = 1 Job fieldscur = ABcefgjlrstuvyzMKNHIWOPQDX winflags = 62777, sortindx = 0, maxtasks = 0 { {1}} summclr = 6, msgsclr = 6, headclr = 7, taskclr = 6 Mem fieldscur = ANOPQRSTUVbcdefgjlmyzWHIKX winflags = 62777, sortindx = 13, maxtasks = 0 summclr = 5, msgsclr = 5, headclr = 4, taskclr = 5 Usr fieldscur = ABDECGfhijlopqrstuvyzMKNWX winflags = 62777, sortindx = 4, maxtasks = 0 summclr = 3, msgsclr = 3, headclr = 2, taskclr = 3