以下の FILTER 変数に示されているように、拡張子が sh、xls などのファイルを見つけようとしています。
以下は ls -ltr の出力です。以下のスクリプトの出力は hourly_space_update.sh および kent.ksh として表示されますが、.ksh ファイルは必要ありません。正規表現のどこが間違っているのか教えてください。
[root@SVRVSVN ~]# ls -ltr
total 20
-rw-r--r-- 1 root sqaadmin 44 Oct 9 18:24 hourly_space_update.sh
-rw-r--r-- 1 root sqaadmin 0 Oct 30 12:34 kent.ksh
-rw-r--r-- 1 root sqaadmin 0 Oct 30 12:34 a.abc
-rw-r--r-- 1 root sqaadmin 0 Oct 30 13:02 hh.h
#!/bin/sh
ls -ltr | awk '
BEGIN {
FILTER=".(sh|xls|xlsx|pdf)$"
}
{
for (i = 1; i < 9; i++) $i = ""; sub(/^ */, "");
if(match(tolower($1),FILTER))
{
print $1
}
}'