Вы настроили своего пользователя так, чтобы он не мог войти в систему. Хорошо, это хорошая привычка не допускать входа пользователя демона, такого как tomcat
, apache
, mysal
, ... .
Теперь ваше единственное решение - переключиться на этого пользователя как root:
sudo su -l -s /bin/bash tomcat
Здесь, как root ( sudo
), вы выполняете вход как пользователь tomcat ( su -l кот
). Параметр -s / bin /
необходим, поскольку оболочка по умолчанию будет / bin / false
, что немедленно завершит сеанс.
Использовать раскладку скобок Bash.
cat Video{{1..9},{10..35}}.mpg > outputfile
В будущем используйте заполнение 0
при первоначальном именовании файлов, чтобы вы могли просто сделать:
cat Video{01..35}.mpg > outputfile
Вот один способ:
cat $(ls Video*.mpg | sort -to -k2 -n )>outputfile
ls Видео * .mpg
- список файлов на основе шаблона
sort -to -k2 -n
- сортировка файлов с использованием o
в качестве разделителя, второго ключа и - n
для числового
* Помните, что использование ls
для неизвестного списка файлов может быть непредсказуемым, но это относительно небольшой и известный список, основанный на вопросе.
С zsh
и ffmpeg
:
files=(Video*.mpg(n))
ffmpeg -f concat -safe 0 -i <(printf 'file %s\n' ${(qq)files}) -c copy output.mpg
(n)
в zsh
является glob квалификатор для численной сортировки.(qq)
— флаг раскрытия переменной, заключаемый в одинарные кавычки. Я не гарантирую, что он цитирует точно так же, как ожидалось ffmpeg
, если имена файлов содержат одинарные кавычки, обратную косую черту или символы новой строки.
Насколько я понимаю, вышеизложенное предполагает, что один и тот же кодек используется во всех файлах mpg.
AFAICT, в частности, для файлов mpeg
файлы также могут быть объединены на уровне файлов и по-прежнему могут воспроизводиться большинством игроков, поэтому вы также можете просто сделать (все еще с zsh
) :
cat Video*.mpg(n) > output.mpg
Хотя zsh
устанавливается по умолчанию в macOS, это не оболочка по умолчанию, которую вы получаете в терминале, если только вы явно не изменили оболочку входа по умолчанию bash
. Таким образом, вам нужно либо сначала запустить zsh
, введя zsh
в приглашении оболочки bash
в терминале, либо вместо этого запустить:
zsh -c 'cat Video*.mpg(n) > output.mpg'
.