次のディレクトリがあります。
Sample1
Sample2
それぞれに複数のサブフォルダが含まれています。
Sample1/R1/
Sample1/R2/
Sample1/R3/
Sample2/R1/
Sample2/R2/
Sample2/R3/
さらにファイルが含まれています。
Sample1/R1/file1
Sample1/R2/file1
Sample1/R3/file1
Sample2/R1/file1
Sample2/R2/file1
Sample2/R3/file1
私は以下のリストが欲しい。
Sample1/R1/file1 Sample1/R2/file1 Sample1/R3/file1
Sample2/R1/file1 Sample2/R2/file1 Sample2/R3/file1
"ls;"、"find"を試しましたが、運がありませんでした。
誰でも助けることができますか?
よろしくお願いします。
答え1
find . -type f | awk -F / '{a[$2]=a[$2] " " $0}; END {for(b in a){print a[b]}}'
答え2
そしてzsh
:
for d (Sample*) print -r $d/*/*
または、ディレクトリ以外のすべてのファイルを印刷します。
for d (Sample*) print -r $d/**/*(^/)
(ファイル名に改行文字が含まれている場合、ファイル名は1行に表示されません。)
または、Bourneに似たシェルを使用してください。
for d in Sample*; do
find "$d" ! -type d | paste -sd ' ' -
done