我想检查我的目录的状态
$ 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
如何实现?
由于您使用的是 BSD stat,因此您可以使用该
-f
选项明确指定格式,包括您想要的任何尾随新行。手动写出整个格式字符串-x
可能有点乏味,所以这里是从 source获得的格式字符串,组合成一个字符串:在末尾添加几个
%n
以获得您想要的效果:有很多方法可以做你想做的事。最简单的方法之一如下:
注意 -
n;
s 的数量可能会减一,因为我不在支持-x
输出选项的系统上。