使用Awk查找以.c结尾的文件

时间:2016-03-21 22:02:01

标签: linux bash if-statement awk ls

我正在编写一个awk脚本,里面看起来像这样:

BEGIN{print "Name\t  Size\t\t  Access"}
{if($10~/[1-9].[c]) printf "%-10s %-10s %-5s\n", $10, $6, $1}

这会尝试查找以.c结尾的文件,但它会为我提供名称中包含.c的文件。我的输出如下:

lab1.cpp 
Lab2.cpp 
prog1.c  
prog2.c 
prog3.c.txt 

我必须使用awk命令来查找这些文件。我如何解决这个问题:

prog1.c  
prog2.c 

1 个答案:

答案 0 :(得分:1)

在你的正则表达式中使用结束锚点,并通过删除if和条件块来缩短你的awk:

BEGIN{print "Name\t  Size\t\t  Access"}
$10 ~ /[1-9]\.c$/ { printf "%-10s %-10s %-5s\n", $10, $6, $1}