如何在BASH中找到文件的元信息?如何使用cut和grep命令提取和单独打印它?
不要使用 cut
/grep
解析 ls
的输出,而应该使用 stat
命令,并使用 -c
参数指定输出格式。
anthony@Zia:~$ stat -c '%n : %A : %U : %s' afiedt.buf .XCompose
afiedt.buf : -rw-r--r-- : anthony : 178
.XCompose : lrwxrwxrwx : anthony : 38
你可以按自己的意愿更改输出格式;请查看stat(1) manpage了解详细信息。
我猜你可能已经尝试过file
命令了吧?它会尝试识别出这个文件是什么类型。
cut
命令,它非常擅长从列中选择值。另外,请不要再使用“每个单词首字母大写”的写法了,这样很难阅读。 - HonkyTonk在文件上执行stat -l
命令:
[~]$ stat -l test.py
-rw-r--r-- 1 burhan staff 84 Aug 3 01:08:34 2012 test.py
要将这些信息存储到变量中:
[~]$ foo=$(stat -l test.py)
[~]$ echo $foo
-rw-r--r-- 1 burhan staff 84 Aug 3 01:08:34 2012 test.py
要获取特定信息,只需man stat
并检查格式说明符。