我有一个命令:
ls -l | nawk -v d1=Sep -v d2=26 '{if(match($0,d1)) print $0}'
-rw-rw-r-- 1 nobody nobody 12 Sep 26 11:36 file1
-rw-rw-r-- 1 nobody nobody 14 Sep 26 11:37 file2
-rw-rw-r-- 1 nobody nobody 0 Sep 26 10:46 file3
-rw-rw-r-- 1 nobody nobody 0 Sep 26 10:44 file4
-rw-rw-r-- 1 nobody nobody 0 Sep 26 10:50 file5
-rw-rw-r-- 1 nobody nobody 0 Sep 26 11:00 file6
-rw-rw-r-- 1 nobody nobody 0 Sep 25 11:00 file7
-rw-rw-r-- 1 nobody nobody 0 Sep 26 14:22 ksh
-rwxrwxr-x 1 nobody nobody 208 Sep 26 16:31 test.sh*
-rwxrwxr-x 1 nobody nobody 62 Sep 26 15:15 test2.sh*
但是当我使用以下内容时:
ls -l | nawk -v d1=Sep -v d2=26 '{if(match($0,d1 d2)) print $0}'
它没有给我任何输出!
如您所见,Sep 和 26 之间有一个空格,我在正则表达式中使用相同的空格来匹配字符串“Sep 26”。有人可以帮忙吗?
我期望输出是:
-rw-rw-r-- 1 nobody nobody 12 Sep 26 11:36 file1
-rw-rw-r-- 1 nobody nobody 14 Sep 26 11:37 file2
-rw-rw-r-- 1 nobody nobody 0 Sep 26 10:46 file3
-rw-rw-r-- 1 nobody nobody 0 Sep 26 10:44 file4
-rw-rw-r-- 1 nobody nobody 0 Sep 26 10:50 file5
-rw-rw-r-- 1 nobody nobody 0 Sep 26 11:00 file6
-rw-rw-r-- 1 nobody nobody 0 Sep 26 14:22 ksh
-rwxrwxr-x 1 nobody nobody 208 Sep 26 16:31 test.sh*
-rwxrwxr-x 1 nobody nobody 62 Sep 26 15:15 test2.sh*