私のディレクトリの状態を確認したいと思います。
$ ls
Foo Bar Zoo
ステータスを確認してください
$ ls | xargs stat -x
File: "Zoo"
Size: 384 FileType: Directory
Mode: (0755/drwxr-xr-x) Uid: ( 501/ ..) Gid: ( 20/ ..)
Device: 1,4 Inode: 8603392907 Links: 12
Access: Fri Mar 30 09:12:06 2018
Modify: Wed Mar 28 10:07:32 2018
Change: Wed Mar 28 10:07:32 2018
File: "Bar"
Size: 160 FileType: Directory
Mode: (0755/drwxr-xr-x) Uid: ( 501/ ..) Gid: ( 20/ ..)
Device: 1,4 Inode: 8604964551 Links: 5
Access: Fri Mar 30 09:12:06 2018
Modify: Thu Mar 29 20:48:46 2018
Change: Thu Mar 29 20:48:46 2018
File: "Zoo"
Size: 416 FileType: Directory
Mode: (0755/drwxr-xr-x) Uid: ( 501/ ..) Gid: ( 20/ ..)
Device: 1,4 Inode: 8603830641 Links: 13
Access: Fri Mar 30 09:28:54 2018
Modify: Fri Mar 30 09:28:54 2018
Change: Fri Mar 30 09:28:54 2018
フォーマットは密集しているため、各ファイルまたはディレクトリを視覚的に区別するためにスパースなフォーマットを好みます。
$ ls | xargs stat -x
File: "Foo"
Size: 384 FileType: Directory
Mode: (0755/drwxr-xr-x) Uid: ( 501/ ..) Gid: ( 20/ ..)
Device: 1,4 Inode: 8603392907 Links: 12
Access: Fri Mar 30 09:12:06 2018
Modify: Wed Mar 28 10:07:32 2018
Change: Wed Mar 28 10:07:32 2018
File: "Bar"
Size: 160 FileType: Directory
Mode: (0755/drwxr-xr-x) Uid: ( 501/ ..) Gid: ( 20/ ..)
Device: 1,4 Inode: 8604964551 Links: 5
Access: Fri Mar 30 09:12:06 2018
Modify: Thu Mar 29 20:48:46 2018
Change: Thu Mar 29 20:48:46 2018
File: "Zoo"
Size: 416 FileType: Directory
Mode: (0755/drwxr-xr-x) Uid: ( 501/ ..) Gid: ( 20/ ..)
Device: 1,4 Inode: 8603830641 Links: 13
Access: Fri Mar 30 09:28:54 2018
Modify: Fri Mar 30 09:28:54 2018
Change: Fri Mar 30 09:28:54 2018
達成する方法?
答え1
BSD statを使用しているので、この-f
オプションを使用して、必要な末尾の改行文字を含む型を明示的に指定できます。書式文字列全体を手動で作成するのは-x
少し面倒なので、ここで得られた書式文字列があります。ソースから、文字列に結合:
' File: "%N"%n Size: %-11z FileType: %HT%n Mode: (%OMp%03OLp/%.10Sp) Uid: (%5u/%8Su) Gid: (%5g/%8Sg)%nDevice: %Hd,%Ld Inode: %i Links: %l%nAccess: %Sa%nModify: %Sm%nChange: %Sc'
%n
希望の効果を得るには、最後にいくつか追加します。
$ stat_format=' File: "%N"%n Size: %-11z FileType: %HT%n Mode: (%OMp%03OLp/%.10Sp) Uid: (%5u/%8Su) Gid: (%5g/%8Sg)%nDevice: %Hd,%Ld Inode: %i Links: %l%nAccess: %Sa%nModify: %Sm%nChange: %Sc%n%n'
$ stat -f "${stat_format}" .zshrc .bashrc
File: ".zshrc"
Size: 5878 FileType: Regular File
Mode: (0644/-rw-r--r--) Uid: ( 502/muru) Gid: ( 20/ muru)
Device: 1,5 Inode: 8596072804 Links: 1
Access: Mar 30 11:40:18 2018
Modify: Mar 26 13:34:14 2018
Change: Mar 26 13:34:14 2018
File: ".bashrc"
Size: 3768 FileType: Regular File
Mode: (0644/-rw-r--r--) Uid: ( 502/muru) Gid: ( 20/ muru)
Device: 1,5 Inode: 8593701774 Links: 1
Access: Mar 30 11:40:18 2018
Modify: Jan 28 11:15:12 2018
Change: Jan 28 11:15:12 2018
答え2
必要なことを行う方法はいくつかあります。最も単純なものの1つは次のとおりです。
$ ls | xargs stat -x | sed 'n;n;n;n;n;n;s/$/\n/'
私が使用しているシステムが出力オプションをサポートしていないため、-sの数がn;
1つ減る可能性があることに注意してください。-x