如何使用“ls -l”输出指定的部分?

时间:2017-01-12 05:28:12

标签: bash shell

ls -l /输出:

lrwxrwxrwx.   1 root root     7 Feb  4  2016 bin -> usr/bin
...

但有时我想要这个:

lrwxrwxrwx. bin -> usr/bin
...

或者这个:

Feb  4  2016 bin -> usr/bin
...

我知道find命令可以使用-printf选项输出指定的部分。 ls怎么样?

4 个答案:

答案 0 :(得分:2)

你想要stat,而不是ls。第一个例子:

stat -c '%A  %N' /bin

第二次

stat -c '%y %N' /bin

答案 1 :(得分:1)

类似这样的事情

ls -l | awk ' {print  $6, $7, $8, $9, $10} '

答案 2 :(得分:1)

你可以使用cut:

ls -l | cut -f6-10 -d' '

这将打印第6到第10列。它使用空格分隔符(-d'')

来区分列

或者打印列表而不是范围:

ls -l | cut -f1,2,10 -d' '

将打印第1,2和10列

答案 3 :(得分:0)

ls -ld /usr/bin

-d标志阻止列出目录的内容。