Вы сами выяснили решение:
Только если я дам копать квалифицированное имя, вы получите ответ.dig автоматически не добавляет суффикс DNS вашего соединения к своим запросам, в отличие от других инструментов. Это ожидается.
Я не уверен, что правильно понимаю цель, но если вы хотите, чтобы каждая строка читала
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
Я не уверен, что правильно понимаю цель, но если вы хотите, чтобы каждая строка читала
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
Я не уверен, что правильно понимаю цель, но если вы хотите, чтобы каждая строка читала
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
Я не уверен, что правильно понимаю цель, но если вы хотите, чтобы каждая строка читала
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
Я не уверен, что правильно понимаю цель, но если вы хотите, чтобы каждая строка читала
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
Вы можете использовать:
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'
Вы можете использовать:
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'
Вы можете использовать:
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'
Вы можете использовать:
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'
Вы можете использовать:
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'