У меня есть команда:
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}'
Это не дает мне никакого выхода !!
Как вы можете видеть, между сентябрем и 26 есть пробел, и я использую то же пространство в регулярном выражении, чтобы соответствовать строке "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*