bash通配符擴展。使用set構造的bash通配符擴展
我有一個包含三個文件的direcotry。我想用wilcar擴展來匹配program.c和program.o
[email protected] ~
$ ls -ltr
total 4
drwxr-xr-x+ 1 casper None 0 Apr 12 18:31 perl_lwp
-rw-r--r-- 1 casper None 0 Apr 25 00:14 program.o
-rw-r--r-- 1 casper None 0 Apr 25 00:14 program.c
-rw-r--r-- 1 casper None 0 Apr 25 00:14 program.log
這是行不通的。
[email protected] ~
$ ls -ltr | egrep program.[co]
這項工作也沒有。
[email protected] ~
$ ls -ltr | egrep program.?
這不起作用
[email protected] ~
$ grep -r program.?
這樣做的工作 - 但我想使用bash括號展開,不使用Perl。
[email protected] ~
$ ls -ltr | perl -nle 'print /(program.[co])/'
program.o
program.c
但是我覺得奇怪的是,它匹配他們兩個,因爲我認爲這組結構將匹配O或C,然後停止,一旦匹配
無需'grep':'ls -l命令程序{C,O}' – ThisSuitIsBlackNot