"ls -l" 出力の権限を 8 進数に変換します。

ls許可ビットの出力を8進数に変換したいと思います。

私はこの練習を実装する最も短くて明確な方法を考えました。入力があるとします。

total 1
drwxr----x 1 user2 workers 1024 May 26 22:22 dir
-rwx-wxrw- 2 user2 workers 1024 May 26 22:22 file.txt

私たちの結果は次のとおりです。

741 dir
736 file.txt

ベストアンサー1

GNUを使用できますfind

find . -type f -printf "%m\t%f\n"

ファイルのフルパスを取得するには、p代わりにディレクティブを使用してくださいf

find . -type f -printf "%m\t%p\n"

結果を現在のディレクトリに制限するには、次のように指定します-maxdepth

find . -maxdepth 1 -type f -printf "%m\t%f\n"

ファイルとディレクトリの結果が必要な場合は、-type述語を削除してください。

find . -printf "%m\t%p\n"

おすすめ記事