-2

我正在运行ls -l,它带来以下输出:

-rw-r----- 1 webadm webgrp 168 Jul 19 16:00 SYNCHRO_20120719_1600.csv

有没有办法只得到最后两个字段?IE:

16:00 SYNCHRO_20120719_1600.csv

4

3 回答 3

1

在具有 GNU 日期的系统上:

for f in *; do
    printf '%s %s\n' "$(date +%H:%M -r "$f")" "$f"
done

这将适用于带有空格的文件名——甚至是带有换行符的文件名,尽管无法区分文件名嵌入的换行符和记录分隔的换行符。(如果这很重要,请使用空分隔符)。

于 2012-07-19T14:27:01.260 回答
1

这应该做你想要的:

ls -l | awk '{print $8" "$9}'
于 2012-07-19T14:19:34.173 回答
1

尝试这个:

 ls -l | awk '{print $(NF-1), " ", $NF}'

它将显示该行的倒数第二个和最后一个字段,即时间和目录条目的名称,不依赖于字段的特定数字。

但是,可能会对包含空格的名称产生问题。

请参阅@CharlesDuffy 提供的有关处理使用的此页面'ls',这在一定程度上破坏了上述方法:-) .. 所以应该在这种情况下查看所提出的快速解决方案。

于 2012-07-19T14:17:26.250 回答