我正在运行ls -l
,它带来以下输出:
-rw-r----- 1 webadm webgrp 168 Jul 19 16:00 SYNCHRO_20120719_1600.csv
有没有办法获得最后两个字段?即:
16:00 SYNCHRO_20120719_1600.csv
答案 0 :(得分:1)
试试这个:
ls -l | awk '{print $(NF-1), " ", $NF}'
它将显示该行的倒数第二个和最后一个字段,该字段是目录条目的时间和名称,并且对于字段的特定数字不依赖。< / p>
但是可能会出现包含空格的名称的问题。
请参阅this page关于使用'ls'
进行处理,由@CharlesDuffy提供,这有点破坏了上述方法:-) ..所以提出的快速解决方案应该在该背景下进行查看。
答案 1 :(得分:1)
这应该做你想要的:
ls -l | awk '{print $8" "$9}'
答案 2 :(得分:1)
在具有GNU日期的系统上:
for f in *; do
printf '%s %s\n' "$(date +%H:%M -r "$f")" "$f"
done
这对于带有空格的文件名 - 或者甚至是带有换行符的文件名都可以正常工作,但是无法区分文件名嵌入的换行符和记录分隔的换行符。 (如果这很重要,请使用空分隔符。)