|
(“канал”) символ означает передавать вывод команды слева к команде справа. Команда find . -maxdepth 1
перечисляет файлы в текущем каталоге (плюс .
самостоятельно). Команда grep 'ChownFileNames*' -exec chown hadoop:hadoop -- {} . \;
не имеет никакого смысла: Вы являетесь передающими find
опции к grep
команда.
find
самостоятельно имеет способ соответствовать именам файлов, -name
предикат. Это берет подстановочный шаблон оболочки в качестве аргумента.
Вы могли использовать grep
для фильтрации списка но необходимо было бы предоставить допустимую командную строку grep
. Сохранить только имена файлов, соответствующие шаблону оболочки ChownFileNames*
, необходимо было бы использовать регулярное выражение /ChownFileNames[^/]$
. Затем необходимо было бы проанализировать вывод grep
преобразовать список соответствия именам в параметры командной строки. Предположение, что Вы запускаете Linux и имена файлов, не содержит новых строк, Вы могли использовать xargs
:
find . -maxdepth 1 |
grep '/ChownFileNames[^/]*$' |
xargs -d '\n' chown hadoop:hadoop
Это намного более просто и более устойчиво для использования find
-exec
действие. Обратите внимание, что можно использовать -exec … {} +
выполнять команду для пакета файлов сразу вместо однажды на файл. Можно также сделать find
перечислите текущий каталог.
find . maxdepth 1 \( -name . -o -name 'ChownFileNames*' \) -exec chown hadoop:hadoop {} +
В выполнении обычно нет никакого смысла find
когда Вы только соответствуете файлам по имени (и не, например, по дате) в текущем каталоге (не пересекая подкаталоги). Если нет столько файлов в текущем каталоге, что это делает командную строку слишком долго, просто используйте
chown hadoop:hadoop . ChownFileNames*
При выполнении VLC использование, это - средство с дистанционным управлением vlc -I rc
можно взаимодействовать с выполнением vlc
сессия. Существует хорошее учебное руководство на нем здесь, названо:
Вкратце Вы запускаетесь vlc
как так:
$ vlc -I rc /home/saml/Desktop/desktop/mp3/stevesongs/marvelous_day/fast_monkey.mp3
VLC media player 1.1.12 The Luggage (revision exported)
Blocked: call to unsetenv("DBUS_ACTIVATION_ADDRESS")
Blocked: call to unsetenv("DBUS_ACTIVATION_BUS_TYPE")
[0x700650] [rc] lua interface: Listening on host "*console".
VLC media player 1.1.12 The Luggage
Remote control interface initialized. Type `help' for help.
>
Примечание: Можно также выполнить его с помощью плей-листа, я просто показываю единственный MP3 для этого примера.
Теперь Вы при подсказке vlc, где можно взаимодействовать с vlc и узнать вещи, такие как информация о плей-листе и что в настоящее время играет:
состояние> status
( new input: file:///home/saml/Desktop/desktop/mp3/stevesongs/marvelous_day/fast_monkey.mp3 )
( audio volume: 256 )
( state playing )
>
плей-лист
> playlist
+----[ Playlist - Undefined ]
| 2 - Playlist
| 4 - Fast Monkey (00:03:34) [played 1 time]
| 3 - Media Library
+----[ End of playlist ]
>
Если Вы не хотите должными быть взаимодействовать с vlc
подсказка можно добраться vlc
работать с поддельным устройством TTY так, чтобы можно было взаимодействовать с ним через сокет.
Примечание: Снимки экрана от ноутбука OSX. При выполнении этого на Linux, необходимо будет выполнить шаги на videolan веб-сайте для включения RC & Fake TTY. Шаги обрисованы в общих чертах на этом руководстве, названном: Как использовать VLC для записи в Linux.
Подскажите, что диалоговое окно выше находится под выпадающим в основном окне VLC, Инструментах-> Предпочтения, на Linux.
Однажды vlc
установка с поддельным TTY, можно направить команды к нему через cli через netcat (nc
):
$ echo -n "pause" | nc -U /Users/vlc.sock
$ echo -n "playlist" | nc -U /Users/vlc.sock
Команда
ffprobe "http://stream.srg-ssr.ch/m/rsj/aacp_96"
сообщает вам, что сейчас играет на Radio Swiss Jazz. Ищите «StreamTitle» в его выводе.
vlc
с GUI. – Serge Stroobandt 22.03.2018, 23:18