Dada uma estrutura como
$ tree sample
sample
├── sample1
│ ├── ex1.csv
│ └── ex2.csv
└── sample2
├── ex3.csv
└── ex4.csv
2 directories, 4 files
você pode usar
$ find sample -type f -printf '%f,%h\n'
ex2.csv,sample/sample1
ex1.csv,sample/sample1
ex3.csv,sample/sample2
ex4.csv,sample/sample2
De man find
, os especificadores de formato -printf
relevantes são
%f File's name with any leading directories removed (only
the last element).
%h Leading directories of file's name (all but the last ele‐
ment). If the file name contains no slashes (since it is
in the current directory) the %h specifier expands to
".".
Se você quiser os resultados em um arquivo, apenas redirecione a saída do comando usando o operador >
, por exemplo,
find sample -type f -printf '%f,%h\n' > filelist