0
find ./2012 -type f | cut -d '/' -f 5 | uniq

通常のファイル名は次のようになります

./2012/NY/F/Zoe
./2012/NJ/M/Zoe

上記のコマンドは、Zoe のようなファイル名の重複しない結果を 1 回だけ与えるはずですが、そうではないことがわかりました。

なんで?また、目的の結果を得るにはどのように記述すればよいですか?

4

2 に答える 2

3

uniq連続した行にある場合にのみ重複を検出します。通常のイディオムはsort | uniq、重複が一緒に表示されるようにすることです。

于 2013-09-23T18:23:13.713 に答える
1

uniq重複が隣接している必要があります。つまり、入力を並べ替える必要がありますsort -u

find 2012 -type f | cut -d/ -f5 | sort -u
于 2013-09-23T18:24:52.353 に答える