Необходимо проверить переменные окружения $PATH
и $LD_LIBRARY_PATH
. Убедитесь, что они указывают на правильность версии ffmpeg и не включают старую версию
, если LD_LIBRARY_PATH
еще не настроена, тогда попробуйте следующее :
LD_LIBRARY_PATH=$LD_LIBRARY_PATH: /usr/local/lib ffmpeg
Как @choroba указал в комментариях, все, что вам нужно сделать, это удалить not
. Вот немного более сложная версия:
#!/usr/bin/perl
## Add command line switches
use Getopt::Std;
## This hash will hold the options
my %opts;
## Read the options
getopts('d',\%opts);
# create names lookup table from first file
my %names;
while (<>) {
## Remove trailing newlines. This is needed
## for cases where you only have a single word
## per line.
chomp;
my $col1=split(/\s+/, $_);
$names{$col1} = 1;
last if eof;
}
# scan second file
while (<>) {
## Skip any lines we don't care about
next unless /^(\S+)/;
## Do we want the duplicates or not?
defined $opts{d} ?
do{print if $names{$1}} :
do{print unless $names{$1}};
}
Если вы запустите приведенный выше сценарий с флагом -d
( foo.pl -d file
), он напечатает имена, найденные в обоих файлов и без него он будет печатать имена, найденные только в первом.
Обратите внимание, что примерно то же самое можно сделать с помощью grep
. Чтобы найти дубликаты:
grep -wFf file1 file2
И для не дублированных:
grep -vwFf file1 file2
Однако приведенное выше будет соответствовать шаблонам из file1
где угодно в file2
, а не только в начало строки.