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

Linux 使用Awk查找以.c结尾的文件,linux,bash,if-statement,awk,ls,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命令来查找这些文件。如何解决此问题以获得此结果:

我正在写一个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 

在正则表达式中使用end anchor并通过删除
if
和条件块缩短awk:

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

我假设您想了解
awk
,因为搜索特定文件的有用方法远远不止这些。例如,查看
find