Что ж, над всем этим решением нужно немного поработать, то, что я сделал, было очень просто, 1)
зашел в нужную папку и щелкнул правой кнопкой мыши -> открыть другим приложение
Затем выберите медиаплеер VLC,
при этом начнется воспроизведение одного из видео, но затем
нажмитеctrl + L , и вы увидите список воспроизведения видео, а где-то в левом верхнем углу вы увидите общую продолжительность
вот пример
Вы можете видеть прямо под панелью инструментов, там написано Playlist[10 :35 :51] , поэтому папка содержит 10 часов 35 минут и 51 секунду общей продолжительности видео
Вот несколько вариантов, которые вы можете попробовать -и все они основаны на построении ассоциативного массива из второго файла, а затем проверке его элементов на соответствие последнему полю первого файла с прерыванием работы, как только будет найдено совпадение:
Истинное совпадение подстроки
awk -F'\t' 'NR==FNR{a[$1]; next} {for(i in a) {if(index($NF,i)>0) next}} 1' File2 File1
Обратите внимание, что (, например ), это идентифицирует Cj0012c
как подстроку ABCj0012c
и/или Cj0012cdef
Аналогично описанному выше, но элементы дополняются одним пробелом с обеих сторон для предотвращения частичного совпадения слов
awk -F'\t' 'NR==FNR{a[$1]; next} {for(i in a) {if(index($NF," "i" ")>0) next}} 1' File2 File1
(вместо этого вы можете дополнить строку внутри вызова присваивания массива, т.е. a[" "$1" "]
, если хотите)
(вероятно, требует, чтобы GNU awk )использовал сопоставление регулярных выражений с шаблонами, состоящими из строк из File2
, окруженных якорями границ слов
gawk -F'\t' 'NR==FNR{a[$1]; next} {for(i in a) {if($NF ~ "\\<" i "\\>") next}} 1' File2 File1
Потенциальная проблема с этой версией заключается в том, что если элементы File2
могут содержать метасимволы регулярного выражения, -их нужно будет каким-то образом экранировать.
Немного перла:
perl -MList::Util=any -Mautodie -F'\t' -ane '
BEGIN { open $f, "<", shift @ARGV; chomp(@exclusions = <$f>); }
print unless any {$F[-1] =~ /\b\Q$_\E\b/} @exclusions;
' file2 file1
Строка НАЧАЛО в файле со списком исключенных токенов обрывается.
Строка печати отфильтровывает строки, которые соответствуют любой из них.