Вывести содержимое каталога в файл

У меня есть каталог html . Я хотел бы вывести файлы каталога, включая путь, в файл.

Вы можете сделать что-то подобное с помощью команды:

ls -R scripts/html > out.txt

Но результаты выглядят так:

scripts/html
1.html
2.html
...

Я хотел бы получить результат как:

scripts/html/1.html
scripts/html/2.html
...
1
задан 06.05.2020, 23:01

3 ответа

Используйте find вместо ls. Это даст вам относительный путь, основанный на том, что вы пройдете. Я использую tail для отсечения первой строки, которая обычно показывает базовый каталог.

find scripts/html | tail -n+2 > out.txt
2
ответ дан 06.05.2020, 23:03
  • 1
    @KohjahBreese, который единственная проблема I видит от этого, является won' t (это могло бы) перечисляют скрытые каталоги в первом слое (но это будет в последующем). – Dustin Halstead 06.05.2020, 23:04
  • 2
    @KohjahBreese I' ve, отредактированный, чтобы сделать это. И это оказывается Вами don' t потребность stdbuf для находки (Интересно, о чем я думал). – DILEEP THOMAS 06.05.2020, 23:04
  • 3
    Спасибо. Это прекрасно. Но есть ли какой-либо способ исключить каталог из первой строки? I' ll пробуют что-то, но новичок. Я полагаю, что sed мог использоваться. – Jeppe 06.05.2020, 23:04
  • 4
    Простое решение просто: найдите dir /* > file.txt – Matheus 06.05.2020, 23:05

Вы можете использовать это только для печати файлов:

find scripts/html '!' -type d

Все, что не является каталогом, будет напечатано.

1
ответ дан 06.05.2020, 23:02

в каталоге, в котором вы хотите показать содержимое:

для всех (папок и файлов)

ls -d1 $PWD/**/*

для просто папок

ls -d1 $PWD/**

для всего файлы

ls -d1 $PWD/*.*
2
ответ дан 06.05.2020, 23:03

Теги

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