Вы хотите запустить brew install boost @ 1,55
$ brew search boost
==> Formulae
boost ✔ boost-build
boost-python boost-python@1.59
boost@1.57 boost@1.60 ✔
boost-bcp boost-mpi
boost-python3 boost@1.55 boost@1.59
==> Casks
boostnote focus-booster
iboostup nosqlbooster-for-mongodb
turbo-boost-switcher
-121--61378-
При обновлении пакетов в стабильном выпуске Debian эти пакеты не сильно изменятся (в конце концов, стабильные ). Вам не понадобится apt-get dist-upgrade
.
Таким образом, изменение зависимостей, подобных указанным в apt-gets manpage, произойдет только при изменении версии (например, wheezy на jessie ) или при использовании тестирования или нестабильных , которые являются скользящими версиями .
Так что да, способом apt-get dist-upgrade
обычно используется для обновления дистрибутива до следующей версии (или в случае обновления выпусков до последней версии).
-121--228927-
Вы можете использовать хитрость:
ps aux | grep '[f]fmpeg'
Здесь []
- это формат, используемый для указания диапазона символов для сопоставления с помощью grep
, мы используем [f]
для сопоставления только f
. Поскольку [f]
уже преобразуется в f
, литерал ps aux | grep 'ffmpeg'
не отображается в выходных данных ps
.
Также обратите внимание, что появление ps aux | grep 'ffmpeg'
на выходе ps aux | grep 'ffmpeg'
в основном зависит от времени отображения таблицы процесса.
Обратите внимание, что существует программа с именем pgrep
для поиска процессов, если ps aux
не является абсолютно необходимой.
Вы можете искать первую строку, соответствующую определенной строке (, т. е. July 29 2018 21:
, для всего после 21:00 ). Если у вас есть этот номер строки, вы можете tail
открыть файл, начинающийся с найденного номера строки.
$ man tail
-n, --lines=[+]NUM
output the last NUM lines, instead of the last 10; or use -n +NUM to output starting with line NUM
мой пример:
$ log=/var/log/syslog
# get line number
$ first_line=$(grep -no "Aug 14 08:" $log | tail -n1 | cut -d: -f1)
# count the lines from $first_line to EOF
$ tail -n +$first_line $log | wc -l
24071
# output the content starting with $first_line
$ tail -n +$first_line $log
# line count of the whole file:
$ wc -l $log
70896 /var/log/syslog
С помощью sed
можно сделать
sed -n '/July 29 2018 21:/,/$!d/p' file
Это даст вам все строки между 29 июля 2018 21 :**и последней строкой файла
Я бы использовал для этого perl, чтобы анализировать отметку времени в каждой строке:
$ cat file
June 5 2018 00:00:00 do not print
July 29 2018 20:59:59 do not print
July 29 2018 21:00:00 print me
July 29 2018 21:00:01 print me
$ perl -MTime::Piece -sane '
BEGIN {
$start = Time::Piece->strptime($startdate, "%B %e %Y %T");
}
# the string "@F[0..3]" is the first 4 words on the line
$time = Time::Piece->strptime("@F[0..3]", "%B %e %Y %T");
print if $time >= $start;
' -- -startdate="July 29 2018 21:00:00" file
July 29 2018 21:00:00 print me
July 29 2018 21:00:01 print me
Эта версия несколько более эффективна, так как она прекращает синтаксический анализ метки времени после того, как была видна начальная дата. (Предполагается, что файл находится в возрастающем хронологическом порядке):
perl -MTime::Piece -sane '
BEGIN {
$start = Time::Piece->strptime($startdate, "%B %e %Y %T");
}
unless ($go) {
$time = Time::Piece->strptime("@F[0..3]", "%B %e %Y %T");
$go = $time >= $start;
}
print if $go;
' -- -startdate="July 29 2018 21:00:00" file