Каталоги с именами, которые содержат пробелы, видимые от /foo/bar
а не от barfoo
, вероятные преступники. xargs
разделяет его вывод пробелами и также интерпретирует кавычки, обратные косые черты, и даже _
символ — видит руководство для получения дополнительной информации таким образом, пробел на имена файла или каталога заставляет это передавать неполные имена файлов grep
.
Для работы вокруг этой проблемы использовать find -print0
в сочетании с xargs -0
, как это:
find . -print0 2>/dev/null | xargs -0 grep -i something_to_find 2>/dev/null
-print0
опция говорит find
разделить имена файлов с двоичными 0 символами, которые не могут появиться на имя правильного файла. Соответствие -0
опция говорит части использовать тот же самый символ в качестве разделителя и также не интерпретировать кавычки и обратные косые черты.
ffmpeg, похоже, имеет новую опцию -to в документации :
-to position ( вход / выход )
Остановить запись вывода или чтение ввода в позиции . позиция должна быть спецификацией продолжительности времени, см. (ffmpeg-utils) раздел длительности времени в руководстве ffmpeg-utils (1).-to и -t являются взаимоисключающими, и -t имеет приоритет.
Пример команды с двумя форматами времени
ffmpeg -i file.mkv -ss 20 -to 40 -c copy file-2.mkv
ffmpeg -i file.mkv -ss 00:00:20 -to 00:00:40 -c copy file-2.mkv
Она должна создать копию (file-2.mkv) file.mkv от 20-секундной метки до 40-секундной метки.
Если у вас установлен PHP, сделайте его скриптом:
CimEDift.php Содержание:
<?php
// Create datetime objcects
$dt1 = new DateTime($argv[1]);
$dt2 = new DateTime($argv[2]);
// Conver difference to seconds
$dt3 = $dt2->format('U') - $dt1->format('U');
// echo $dt3."\n";
$h = (int)($dt3 / 3600);
$dt3 %= 3600;
$m = (int)($dt3 / 60);
$dt3 %= 60;
$s = $dt3;
// Dump as H:M:S
echo $h . ":" . $m . ":" . $s;
?>
Audiochop .SH Содержание:
#!/bin/bash
INFILE=$1
START=$2
STOP=$3
OUTFILE=$4
OFFSET=`php TimeDiff.php "$START" "$STOP"`
echo "Disecting $INFILE starting from $START to $STOP (duration $OFFSET)"
ffmpeg -ss "$START" -t "$OFFSET" -i "$INFILE" "$OUTFILE"
Использование:
./audiochop.sh [input.mp3] [startchop] [stopchop] [output.mp3]
Где [Startchop] и [STOPCHOP] являются абсолютными временными метками от начала дорожки.
NB: скрипт (ы) может потребоваться настроить в зависимости от версии платформы и т. Д. ...