4

検索結果を次のように並べ替えます。

私は使っている:

find . -type f -print0 

結果は次のとおりです。

/mnt/sdcard/qu/led/t1/temp42.txt
/mnt/sdcard/qu/led/File.plist
/mnt/sdcard/qu/yellow.plist
/mnt/sdcard/SHA1Keys/SHA1SUMS
/mnt/sdcard/File.xml
/mnt/sdcard/File.plist
/mnt/sdcard/.DS_Store

しかし、私は結果を次のようにしたい:

/mnt/sdcard/.DS_Store
/mnt/sdcard/File.plist
/mnt/sdcard/File.xml
/mnt/sdcard/SHA1Keys/SHA1SUMS
/mnt/sdcard/qu/yellow.plist
/mnt/sdcard/qu/led/File.plist
/mnt/sdcard/qu/led/t1/temp42.txt

そして、もしそうなら:

find . -type f print0 | sort -r 

順番がぐちゃぐちゃになる。私はこの解決策をどこかで見ました:

find . -type f -ls | awk '{print $(NF-3), $(NF-2), $(NF-1), $NF}'

しかし、結果を出力するので使用できません。

また、ファイルシステムへの書き込み権限がないため、ファイルへの書き込みと行の反転はオプションではありません。

4

2 に答える 2

13

tac( backwards) を使用catして、出力を逆にします。逆順にソートする必要はありません。逆にする必要があるだけです。

find . -type f | tac

を保持したい場合は、-print0次を使用します。

find . -type f -print0 | tac -rs '\0'
于 2013-10-30T19:03:06.623 に答える
2

または、次を使用できますtail -r

find . -type f | tail -r
于 2016-12-01T15:29:19.627 に答える