私は次のスレッドを参照しました。特定のディレクトリから最も古いディレクトリを削除する方法は? そして受け入れられた解決策は完璧です。ただし、最も古いフォルダの1つを除外する必要があります。提供されたソリューションでこの要件をどのように満たすことができますか?
ベストアンサー1
調整できます独自のソリューション除外されていないファイルが見つかるまでファイルを読み取ります。
while IFS= read -r -d '' line
do
file="${line#* }"
if [ "$file" = './my-excluded-directory' ]
then
continue
fi
[do stuff with $file]
break
done < <(find . -maxdepth 1 -type d -printf '%T@ %p\0' | sort -z -n)
(-d ''
文字列にNUL文字を含めることはできないため、元の文字と同じです。)
read
しかし、長いリストは読みが遅く、@モスビーはい、かなり不快な構文を使用してフィルタリングできますfind
。
IFS= read -r -d '' < <(find . -maxdepth 1 -type d \( -name 'my-excluded-directory' -prune -false \) -o -printf '%T@ %p\0' | sort -z -n)
file="${REPLY#* }"
# do something with $file here