我正在编写一个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
答案 0 :(得分:1)
在你的正则表达式中使用结束锚点,并通过删除if
和条件块来缩短你的awk:
BEGIN{print "Name\t Size\t\t Access"}
$10 ~ /[1-9]\.c$/ { printf "%-10s %-10s %-5s\n", $10, $6, $1}