Список MP4 by & ldquo; файл '* .mp4' & rdquo; к .txt

Вы сами выяснили решение:

Только если я дам копать квалифицированное имя, вы получите ответ.

dig автоматически не добавляет суффикс DNS вашего соединения к своим запросам, в отличие от других инструментов. Это ожидается.

0
задан 8 May 2018 в 09:27

10 ответов

Я не уверен, что правильно понимаю цель, но если вы хотите, чтобы каждая строка читала

file '/full/path/to/filename.mp4'

, я предлагаю использовать find следующим образом:

find ~+ -type f -name "*.mp4" -printf "file\t'%p'\n"
2] Выполняет поиск текущего рабочего каталога (~+ разворачивается до полного пути с расширением Tilde bash] для файлов, имя которых соответствует *.mp4 и печатает их в указанном формате: «файл», за которым следует вкладка и имя файла, заключенное в одинарные кавычки, за которым следует символ новой строки - если вам нужно место вместо вкладки, просто замените \t пробелом. Если вы хотите сохранить вывод в файле files.txt, просто добавьте >files.txt в командную строку. Обратите внимание, что это будет молча перезаписывать любые существующие files.txt, если вы хотите вместо этого добавить файл >>files.txt.

Пример вывода

$ find ~+ -type f -name "*.mp4" -printf "file\t'%p'\n"
file    '/home/dessert/test/a.mp4'
file    '/home/dessert/test/b.mp4'
$ find ~+ -type f -name "*.mp4" -printf "file\t'%p'\n" >files.txt
$ cat files.txt 
file    '/home/dessert/test/a.mp4'
file    '/home/dessert/test/b.mp4'
6] Если вы хотите, чтобы files.txt содержал вывод file 'some.mp4', вы можете использовать file напрямую:

file *.mp4 >files.txt     # with relative paths
file ~+/*.mp4 >files.txt  # with absolute paths
5
ответ дан 22 May 2018 в 10:53

Я не уверен, что правильно понимаю цель, но если вы хотите, чтобы каждая строка читала

file '/full/path/to/filename.mp4'

, я предлагаю использовать find следующим образом:

find ~+ -type f -name "*.mp4" -printf "file\t'%p'\n"

Выполняет поиск текущего рабочего каталога (~+ разворачивается до полного пути с расширением Tilde bash] для файлов, имя которых соответствует *.mp4 и печатает их в указанном формате: «файл», за которым следует вкладка и имя файла, заключенное в одинарные кавычки, за которым следует символ новой строки - если вам нужно место вместо вкладки, просто замените \t пробелом. Если вы хотите сохранить вывод в файле files.txt, просто добавьте >files.txt в командную строку. Обратите внимание, что это будет молча перезаписывать любые существующие files.txt, если вы хотите вместо этого добавить файл >>files.txt.

Пример вывода

$ find ~+ -type f -name "*.mp4" -printf "file\t'%p'\n" file '/home/dessert/test/a.mp4' file '/home/dessert/test/b.mp4' $ find ~+ -type f -name "*.mp4" -printf "file\t'%p'\n" >files.txt $ cat files.txt file '/home/dessert/test/a.mp4' file '/home/dessert/test/b.mp4'

Если вы хотите, чтобы files.txt содержал вывод file 'some.mp4', вы можете использовать file напрямую:

file *.mp4 >files.txt # with relative paths file ~+/*.mp4 >files.txt # with absolute paths
5
ответ дан 17 July 2018 в 14:55

Я не уверен, что правильно понимаю цель, но если вы хотите, чтобы каждая строка читала

file '/full/path/to/filename.mp4'

, я предлагаю использовать find следующим образом:

find ~+ -type f -name "*.mp4" -printf "file\t'%p'\n"

Выполняет поиск текущего рабочего каталога (~+ разворачивается до полного пути с расширением Tilde bash] для файлов, имя которых соответствует *.mp4 и печатает их в указанном формате: «файл», за которым следует вкладка и имя файла, заключенное в одинарные кавычки, за которым следует символ новой строки - если вам нужно место вместо вкладки, просто замените \t пробелом. Если вы хотите сохранить вывод в файле files.txt, просто добавьте >files.txt в командную строку. Обратите внимание, что это будет молча перезаписывать любые существующие files.txt, если вы хотите вместо этого добавить файл >>files.txt.

Пример вывода

$ find ~+ -type f -name "*.mp4" -printf "file\t'%p'\n" file '/home/dessert/test/a.mp4' file '/home/dessert/test/b.mp4' $ find ~+ -type f -name "*.mp4" -printf "file\t'%p'\n" >files.txt $ cat files.txt file '/home/dessert/test/a.mp4' file '/home/dessert/test/b.mp4'

Если вы хотите, чтобы files.txt содержал вывод file 'some.mp4', вы можете использовать file напрямую:

file *.mp4 >files.txt # with relative paths file ~+/*.mp4 >files.txt # with absolute paths
5
ответ дан 20 July 2018 в 14:57

Я не уверен, что правильно понимаю цель, но если вы хотите, чтобы каждая строка читала

file '/full/path/to/filename.mp4'

, я предлагаю использовать find следующим образом:

find ~+ -type f -name "*.mp4" -printf "file\t'%p'\n"

Выполняет поиск текущего рабочего каталога (~+ разворачивается до полного пути с расширением Tilde bash] для файлов, имя которых соответствует *.mp4 и печатает их в указанном формате: «файл», за которым следует вкладка и имя файла, заключенное в одинарные кавычки, за которым следует символ новой строки - если вам нужно место вместо вкладки, просто замените \t пробелом. Если вы хотите сохранить вывод в файле files.txt, просто добавьте >files.txt в командную строку. Обратите внимание, что это будет молча перезаписывать любые существующие files.txt, если вы хотите вместо этого добавить файл >>files.txt.

Пример вывода

$ find ~+ -type f -name "*.mp4" -printf "file\t'%p'\n" file '/home/dessert/test/a.mp4' file '/home/dessert/test/b.mp4' $ find ~+ -type f -name "*.mp4" -printf "file\t'%p'\n" >files.txt $ cat files.txt file '/home/dessert/test/a.mp4' file '/home/dessert/test/b.mp4'

Если вы хотите, чтобы files.txt содержал вывод file 'some.mp4', вы можете использовать file напрямую:

file *.mp4 >files.txt # with relative paths file ~+/*.mp4 >files.txt # with absolute paths
5
ответ дан 20 July 2018 в 15:22

Я не уверен, что правильно понимаю цель, но если вы хотите, чтобы каждая строка читала

file '/full/path/to/filename.mp4'

, я предлагаю использовать find следующим образом:

find ~+ -type f -name "*.mp4" -printf "file\t'%p'\n"

Выполняет поиск текущего рабочего каталога (~+ разворачивается до полного пути с расширением Tilde bash] для файлов, имя которых соответствует *.mp4 и печатает их в указанном формате: «файл», за которым следует вкладка и имя файла, заключенное в одинарные кавычки, за которым следует символ новой строки - если вам нужно место вместо вкладки, просто замените \t пробелом. Если вы хотите сохранить вывод в файле files.txt, просто добавьте >files.txt в командную строку. Обратите внимание, что это будет молча перезаписывать любые существующие files.txt, если вы хотите вместо этого добавить файл >>files.txt.

Пример вывода

$ find ~+ -type f -name "*.mp4" -printf "file\t'%p'\n" file '/home/dessert/test/a.mp4' file '/home/dessert/test/b.mp4' $ find ~+ -type f -name "*.mp4" -printf "file\t'%p'\n" >files.txt $ cat files.txt file '/home/dessert/test/a.mp4' file '/home/dessert/test/b.mp4'

Если вы хотите, чтобы files.txt содержал вывод file 'some.mp4', вы можете использовать file напрямую:

file *.mp4 >files.txt # with relative paths file ~+/*.mp4 >files.txt # with absolute paths
5
ответ дан 23 July 2018 в 15:53

Вы можете использовать:

for i in ./*.mp4; do echo "file" \'$(realpath ${i#*\/})\' >> files.txt; done

Если вам не нужно file перед каждым именем файла, вы можете использовать:

ls path/to/files/*.mp4 > files.txt

Результат из первой команды :

file '/home/george/Documents/askubuntu/disk_use.txt'
file '/home/george/Documents/askubuntu/efi_info.txt'
file '/home/george/Documents/askubuntu/empty.txt'
file '/home/george/Documents/askubuntu/fam.txt'

Примечание:

Я использовал .txt файлы, ваш будет .mp4. Это выполняется из интересующей папки, если вам нужно настроить таргетинг на другого, пожалуйста, измените строку for i in ./*.mp4 tp для i в / path / to / files / *. Mp4`.
2
ответ дан 22 May 2018 в 10:53
  • 1
    Как отметил десант в своем ответе, OP хочет, чтобы текст «файл» перед именами файлов в files.txt. – IQV 8 May 2018 в 09:49
  • 2
    Вероятно, вы имели в виду for i in path/to/files/*.mp4. Вы можете перенаправить вывод всего цикла с помощью done >> files.txt (или даже >), таким образом, файл нужно открывать только один раз, а не один раз для каждой строки. – dessert 8 May 2018 в 09:54
  • 3
    Привет, и спасибо, я попробовал for i in /root/live/up/*; do echo "file '$i'" >> videos.txt; done и for i in /root/live/up/*; do echo -e "file '$i'\n" >> videos.txt; done для вертикали (по строкам), но не работает – mhhhhmaybe 8 May 2018 в 10:20
  • 4
    я хочу что-то вроде строки 1: файл «1.MP4» строка 2: файл «2.mp4», но for i in /root/live/up/*; do echo -e "file '$i'\n" >> videos.txt; done не делает линию прерывания – mhhhhmaybe 8 May 2018 в 11:09
  • 5
    @xiota благодарит за изменение! IQV, я думаю, что OP скажет, что он / она хочет – George Udosen 8 May 2018 в 11:24

Вы можете использовать:

for i in ./*.mp4; do echo "file" \'$(realpath ${i#*\/})\' >> files.txt; done

Если вам не нужно file перед каждым именем файла, вы можете использовать:

ls path/to/files/*.mp4 > files.txt

Результат из первой команды :

file '/home/george/Documents/askubuntu/disk_use.txt' file '/home/george/Documents/askubuntu/efi_info.txt' file '/home/george/Documents/askubuntu/empty.txt' file '/home/george/Documents/askubuntu/fam.txt'

Примечание:

Я использовал .txt файлы, ваш будет .mp4. Это выполняется из интересующей папки, если вам нужно настроить таргетинг на другого, пожалуйста, измените строку for i in ./*.mp4 tp для i в / path / to / files / *. Mp4`.
2
ответ дан 17 July 2018 в 14:55

Вы можете использовать:

for i in ./*.mp4; do echo "file" \'$(realpath ${i#*\/})\' >> files.txt; done

Если вам не нужно file перед каждым именем файла, вы можете использовать:

ls path/to/files/*.mp4 > files.txt

Результат из первой команды :

file '/home/george/Documents/askubuntu/disk_use.txt' file '/home/george/Documents/askubuntu/efi_info.txt' file '/home/george/Documents/askubuntu/empty.txt' file '/home/george/Documents/askubuntu/fam.txt'

Примечание:

Я использовал .txt файлы, ваш будет .mp4. Это выполняется из интересующей папки, если вам нужно настроить таргетинг на другого, пожалуйста, измените строку for i in ./*.mp4 tp для i в / path / to / files / *. Mp4`.
2
ответ дан 20 July 2018 в 14:57
  • 1
    Как отметил десант в своем ответе, OP хочет, чтобы текст «файл» перед именами файлов в files.txt. – IQV 8 May 2018 в 09:49
  • 2
    Вероятно, вы имели в виду for i in path/to/files/*.mp4. Вы можете перенаправить вывод всего цикла с помощью done >> files.txt (или даже >), таким образом, файл нужно открывать только один раз, а не один раз для каждой строки. – dessert 8 May 2018 в 09:54
  • 3
    Привет, и спасибо, я попробовал for i in /root/live/up/*; do echo "file '$i'" >> videos.txt; done и for i in /root/live/up/*; do echo -e "file '$i'\n" >> videos.txt; done для вертикали (по строкам), но не работает – mhhhhmaybe 8 May 2018 в 10:20
  • 4
    я хочу что-то вроде строки 1: файл «1.MP4» строка 2: файл «2.mp4», но for i in /root/live/up/*; do echo -e "file '$i'\n" >> videos.txt; done не делает линию прерывания – mhhhhmaybe 8 May 2018 в 11:09
  • 5
    @xiota благодарит за изменение! IQV, я думаю, что OP скажет, что он / она хочет – George Udosen 8 May 2018 в 11:24

Вы можете использовать:

for i in ./*.mp4; do echo "file" \'$(realpath ${i#*\/})\' >> files.txt; done

Если вам не нужно file перед каждым именем файла, вы можете использовать:

ls path/to/files/*.mp4 > files.txt

Результат из первой команды :

file '/home/george/Documents/askubuntu/disk_use.txt' file '/home/george/Documents/askubuntu/efi_info.txt' file '/home/george/Documents/askubuntu/empty.txt' file '/home/george/Documents/askubuntu/fam.txt'

Примечание:

Я использовал .txt файлы, ваш будет .mp4. Это выполняется из интересующей папки, если вам нужно настроить таргетинг на другого, пожалуйста, измените строку for i in ./*.mp4 tp для i в / path / to / files / *. Mp4`.
2
ответ дан 20 July 2018 в 15:22
  • 1
    Как отметил десант в своем ответе, OP хочет, чтобы текст «файл» перед именами файлов в files.txt. – IQV 8 May 2018 в 09:49
  • 2
    Вероятно, вы имели в виду for i in path/to/files/*.mp4. Вы можете перенаправить вывод всего цикла с помощью done >> files.txt (или даже >), таким образом, файл нужно открывать только один раз, а не один раз для каждой строки. – dessert 8 May 2018 в 09:54
  • 3
    Привет, и спасибо, я попробовал for i in /root/live/up/*; do echo "file '$i'" >> videos.txt; done и for i in /root/live/up/*; do echo -e "file '$i'\n" >> videos.txt; done для вертикали (по строкам), но не работает – mhhhhmaybe 8 May 2018 в 10:20
  • 4
    я хочу что-то вроде строки 1: файл «1.MP4» строка 2: файл «2.mp4», но for i in /root/live/up/*; do echo -e "file '$i'\n" >> videos.txt; done не делает линию прерывания – mhhhhmaybe 8 May 2018 в 11:09
  • 5
    @xiota благодарит за изменение! IQV, я думаю, что OP скажет, что он / она хочет – George Udosen 8 May 2018 в 11:24

Вы можете использовать:

for i in ./*.mp4; do echo "file" \'$(realpath ${i#*\/})\' >> files.txt; done

Если вам не нужно file перед каждым именем файла, вы можете использовать:

ls path/to/files/*.mp4 > files.txt

Результат из первой команды :

file '/home/george/Documents/askubuntu/disk_use.txt' file '/home/george/Documents/askubuntu/efi_info.txt' file '/home/george/Documents/askubuntu/empty.txt' file '/home/george/Documents/askubuntu/fam.txt'

Примечание:

Я использовал .txt файлы, ваш будет .mp4. Это выполняется из интересующей папки, если вам нужно настроить таргетинг на другого, пожалуйста, измените строку for i in ./*.mp4 tp для i в / path / to / files / *. Mp4`.
2
ответ дан 23 July 2018 в 15:53
  • 1
    Как отметил десант в своем ответе, OP хочет, чтобы текст «файл» перед именами файлов в files.txt. – IQV 8 May 2018 в 09:49
  • 2
    Вероятно, вы имели в виду for i in path/to/files/*.mp4. Вы можете перенаправить вывод всего цикла с помощью done >> files.txt (или даже >), таким образом, файл нужно открывать только один раз, а не один раз для каждой строки. – dessert 8 May 2018 в 09:54
  • 3
    Привет, и спасибо, я попробовал for i in /root/live/up/*; do echo "file '$i'" >> videos.txt; done и for i in /root/live/up/*; do echo -e "file '$i'\n" >> videos.txt; done для вертикали (по строкам), но не работает – mhhhhmaybe 8 May 2018 в 10:20
  • 4
    я хочу что-то вроде строки 1: файл «1.MP4» строка 2: файл «2.mp4», но for i in /root/live/up/*; do echo -e "file '$i'\n" >> videos.txt; done не делает линию прерывания – mhhhhmaybe 8 May 2018 в 11:09
  • 5
    @xiota благодарит за изменение! IQV, я думаю, что OP скажет, что он / она хочет – George Udosen 8 May 2018 в 11:24

Другие вопросы по тегам:

Похожие вопросы: