すべてのフォルダのリスト(1つのレイヤーを含む)をtxtファイルに送信したいと思います。一部の名前付きフォルダは含まれておらず、ファイルも含まれていません。このようなフォルダ構造を想像してみてください。 CAPSはフォルダです。
FOLDER 1
.hidden
TEMP
somefile
=========
=========
FOLDER 2
.hidden
TEMP
DATA1
DATA2
somefile
========
========
FOLDER 3
.hidden
TEMP
DATA1
somefile
「ここに魔法命令を挿入」を実行し、以下のような出力を得たいと思います。
FOLDER 1
FOLDER 2
DATA1
DATA2
FOLDER 3
DATA1
ベストアンサー1
フォルダ構造を作成するには、次の手順を実行します。
for f in FOLDER\ 1 FOLDER\ 2 FOLDER\ 3
do mkdir -p "$f/TEMP"
touch "$f/.hidden" "$f/somefile"
case "$f" in
(*2) mkdir -p "$f/DATA1/TEMP" "$f/DATA2/TEMP";;
(*3) mkdir -p "$f/DATA1/TEMP"
esac
done
これにより、次のツリーが作成されます。
find .
.
./FOLDER 1
./FOLDER 1/TEMP
./FOLDER 1/.hidden
./FOLDER 1/somefile
./FOLDER 2
./FOLDER 2/TEMP
./FOLDER 2/.hidden
./FOLDER 2/somefile
./FOLDER 2/DATA1
./FOLDER 2/DATA1/TEMP
./FOLDER 2/DATA2
./FOLDER 2/DATA2/TEMP
./FOLDER 3
./FOLDER 3/TEMP
./FOLDER 3/.hidden
./FOLDER 3/somefile
./FOLDER 3/DATA1
./FOLDER 3/DATA1/TEMP
やっとやりました…
find . ! -path './*/*/*' ! -name TEMP -type d
.
./FOLDER 1
./FOLDER 2
./FOLDER 2/DATA1
./FOLDER 2/DATA2
./FOLDER 3
./FOLDER 3/DATA1