当我使用时,ls -lah
我会获得每个文件的大量信息。
我怎样才能只获得名称和文件大小?
另外,我想保留带有箭头的符号链接列表,例如
lrwxrwxrwx 1 rubo77 rubo77 4 Nov 21 01:53 test2 -> test
Run Code Online (Sandbox Code Playgroud)
一种方法是解析ls
.
$ ls -lah | awk '{print $9, $5}' | tail -5
.yEd 4.0K
.youtube-dl 4.0K
.zenmap 4.0K
.zshrc 32
zzzz 3.3K
Run Code Online (Sandbox Code Playgroud)
顺便说一句,您可以使用column
.
$ ls -lah | awk '{print $9, $5}' | column -t | tail -5
z 4
.youtube-dl 4.0K
.zenmap 4.0K
.zshrc 32
zzzz 3.3K
Run Code Online (Sandbox Code Playgroud)
如果您希望删除其他列,同时保留其他列,您可以使用此awk
方法将不需要的列清空。
$ ls -lah | awk '{$1=$2=$3=$4=$6=$7=$8=""}1' | tail -5
4.0K .youtube-dl
4 z -> zzzz
4.0K .zenmap
32 .zshrc
3.3K zzzz
Run Code Online (Sandbox Code Playgroud)
OP 使用上述示例的组合提出了这条命令链。
$ ls -lah | awk '{print $5, $9$10$11}' | column -t | column
...
4.0K .gphoto 773 .rdebug_hist 4.0K .youtube-dl
1.5K .grip 4.0K .rdesktop 4 z->zzzz
Run Code Online (Sandbox Code Playgroud)
小智 5
从手册页:
Run Code Online (Sandbox Code Playgroud)-s, --size print the allocated size of each file, in blocks
因此对于人类可读的尺寸:
ls -sh
Run Code Online (Sandbox Code Playgroud)