次のファイルのリストを含むテキストファイルがあります。
file
A1/file
A1/B1/file
A2/file
サブディレクトリ内のファイルが親ディレクトリ内の他のファイルの前にリストされるようにソートするにはどうすればよいですか?
A1/B1/file
A1/file
A2/file
file
ベストアンサー1
簡単な方法は次のとおりです。
awk 'BEGIN{FS="/"; OFS="\t"}{print NF, $0}' file | sort -rn | cut -f2-
A1/B1/file
A2/file
A1/file
file
問題のような単純なケースで動作します。
ディレクトリでソートしたい場合:
awk 'BEGIN{FS="/"; OFS="\t"}{print NF, $0}' file | sort -k1,1rn -k2 | cut -f2-
A1/B1/file
A1/file
A2/file
file