我正在运行ls -l
,它带来以下输出:
-rw-r----- 1 webadm webgrp 168 Jul 19 16:00 SYNCHRO_20120719_1600.csv
有没有办法只得到最后两个字段?IE:
16:00 SYNCHRO_20120719_1600.csv
在具有 GNU 日期的系统上:
for f in *; do
printf '%s %s\n' "$(date +%H:%M -r "$f")" "$f"
done
这将适用于带有空格的文件名——甚至是带有换行符的文件名,尽管无法区分文件名嵌入的换行符和记录分隔的换行符。(如果这很重要,请使用空分隔符)。
这应该做你想要的:
ls -l | awk '{print $8" "$9}'
尝试这个:
ls -l | awk '{print $(NF-1), " ", $NF}'
它将显示该行的倒数第二个和最后一个字段,即时间和目录条目的名称,不依赖于字段的特定数字。
但是,可能会对包含空格的名称产生问题。
请参阅@CharlesDuffy 提供的有关处理使用的此页面'ls'
,这在一定程度上破坏了上述方法:-) .. 所以应该在这种情况下查看所提出的快速解决方案。