【发布时间】:2010-08-28 18:12:35
【问题描述】:
我一直在尝试使用 AWK 对输出进行分类,并且非常成功地解决了堆栈溢出的一些问题,直到我点击了下面命令的最后一部分。
-bash-3.2$ find /home/username/www/devdir -mindepth 2 -maxdepth 2 -type d -printf "%TY %Tm %Tb %Td,%TH:%TM,%p,\n" | grep "^$r" | grep Aug | sort -r | awk -F '/' '{print $1,$6","$7}' | awk -F " " '$1, { for (i=3; i<=NF; i++) printf("%s ", $i); printf("\n"); }' | head -10
awk: $1, { for (i=3; i<=NF; i++) printf("%s ", $i); printf("\n"); }
awk: ^ syntax error
输出如下所示:
2010 08 Aug 28,11:51, Directory Tom,005,
2010 08 Aug 28,11:50, Directory Smith,004,
2010 08 Aug 28,11:46, Directory Jon,003,
我希望它看起来像:
2010 Aug 28,11:51, Directory Tom,005,
2010 Aug 28,11:50, Directory Smith,004,
2010 Aug 28,11:46, Directory Jon,003,
我想去掉“08”,有时又不会丢失之前完成的排序。这将更改为下个月的 09 和以下的 10,我相信我可以使用 sed 来解决这个问题,但是我不是它的专家。有人可以说明我应该做些什么来克服这个障碍吗?
我参考了这个问题来了解我需要做什么:Sorting output with awk, and formatting it
【问题讨论】: