linux通配符
『壹』 linux中的通配符[0-9]怎麼用舉一個例子
這個是屬於「正則表達式」的知識,你先找一下這方面的教程學習一下,
網路一下「正則表達式」即可。這是在編寫程序、查找和處理與字元串時的一項技術。
簡單一個例子吧。比如你想查找一份文件,具體的名字忘了,但記得文件名是數字開頭的,
那麼可以這樣查找這個文件:
find/-name"[0-9]*"
這樣就找出所有數字開頭的文件。
『貳』 Linux的基本命令格式如何Linux下經常使用的通配符有哪些
Linux 命令的基本格式:
[root@localhost ~]# 命令[選項][參數]
命令格式中的 [] 代表可選項,也就是有些命令可以不寫選項或參數,也能執行。那麼,我們就用 Linux 中最常見的 ls 命令來解釋一下命令的格式(有關 ls 命令的具體用法,後續章節會詳細介紹)。如果按照命令的分類,那麼 ls 命令應該屬於目錄操作命令。
[root@localhost ~]# ls
anaconda-ks.cfg install.log install.log.syslog
linux常用通配符有* ,?,[ ],[^],[:space:],[:punct:],[:lower:],[:upper:],[:digit:],[:alnum:]等等。可參考下《Linux就該這么學》了解更多Linux知識。
『叄』 linux通配符有幾種表達方式
通配符 1、基本的通配符有哪些? ·「?」可替代單個字元。 ·「*」可替代任意字元。 ·方括弧「[charset]」可替代charset集中的任何單個字元。 對最後一條做些解釋。[cChH]通配符便可替代c或h字元的大小寫形式。 通配符集還能描述介於字元對之間的所有字元。如「[a-z]」就可以代 替任意小寫字母,而[a-zA-Z]則可替代任意字母。注意可替代的字元 包括字元包括字元對之間的所有字元。 與DOS相比,UNIX的通配符機制要比DOS好得多。在DOS中,任何在「*」 之後,在「.」之彰的字元均被忽略,所以下面的指令將不能得到你想 象的結果。 del *bak.* 在DOS中,用戶只能用此命令刪除當前目前下的所有文件,除非系統要 求你不這樣做。而在UNIX系統中,「*」可替代包括0在內的任意數字的 字元,但一行中的其餘特徵也仍需匹配,因此「bak.*」可匹配 newbak.save、oldbak.new甚至bak.temp,但不能和newbak匹配,因為後 者不含「.」。這非常巧妙,可大大方便用戶,而「*bak」則可匹配以上 所有的詞條,包括newbak。 2、能在一條指令中用多個通配符嗎? 可以,如 rm a*out*tmp? 該命令可以刪除一系列臨時性的輸出文件,如ab.out.temp1、ab.out.temp1 等。 3、如何利用通配符使指令更靈活? UNIX可將有一定關的文件看作一集合的一部分,用戶可以用該集合去匹配。 所以,如果你需要刪除file1.temp、file2.temp……file9.temp,只須健入: rm file[0-9].temp 該技巧的用處在於可以用刪除那些相要刪除的文件。如果你每天都要為一個 非常重要的 資料庫 做一個「mp」報告,你把文件存入mp.date%h%d, 它包括一系列文件如下: mp.jun23 mp jun24 mp jun25 mp.jun26 再讓我們假設因為每個文件的容量都在100M左右,所以磁碟空間很快會被占滿, 因此需要每隔幾天刪去一些老的文件,只留下最近的兩個文件,為此,鍵入: rm –i *[34] 這條指令將刪去那些以「」開頭並以「3」或「4」結尾的文件。
『肆』 linux命令一個通配符
mkdir1 && mkdir2,當1執行成功後,2才能繼續執行。 可以用執行 # mkdir1;mkdir2,分號作用就是起到分隔。
『伍』 linux通配符,怎麼用
疑似假用戶02u622
『陸』 linux中 正則表達式和通配符的區別
通配符
它是由shell解析,並且一般用於匹配文件名,實際上就是shell解釋器去解析的特殊符號,linux系統通配符有幾下幾種:
*:匹配任意多個字元
?:匹配任意一個字元
[...]:匹配中括弧內出現的任意一個字元
[!...]:不匹配中括弧內出現的任意一個字元
一般出現在要shell命令或腳本中,匹配特定的文件名
正則表達式
它是一個字元匹配標准,一些命令工具按此標准實現字元匹配,根據命令支持的匹配功能可分為基礎正則表達式和擴展正則表達式,常用於支持正則表達式的工具,如sed,grep,awk...
有如下一些常用的匹配元字元:
字元匹配
.:匹配任意單個字元
*:匹配其前面一個字元出現任意次
?:匹配其前面的字元1次或0次
+:匹配其前面一個字元出現至少一次(在擴展正則表達式中)
位置匹配
^:錨定行首
$:錨定行尾
\<或\b:錨定詞首,其後面的任意字元必須作為單詞首部出現
\>或\b:錨定詞尾,其前面的任意字元必須作為單詞尾部出現
\B:非單詞的開頭或結尾
^$:空白行
分組() :
(ab)* : 匹配ab這個分組出現任意次
\1:引用第一個左括弧以及與之對應的右括弧所包括的所有內容,同理還有\2,\3
特殊子字元類:
[:alnum:] :任何字母和數字
[:alpha:] :任何字母
[:cntrl:] :控制字元. 在ASCII表中對應八進制000 到 037, 和177 ('DEL').
[:digit:] :任何數字
[:graph:] :匹配列印字元,相當於'[:alnum:]' +'[:punct:]'.
[:lower:] :小寫字母
[:print:] :可列印字元,相當於 '[:alnum:]', '[:punct:]', 和space.
[:punct:] 標點符號,'! " # $ % & ' ( ) * + , - . / : ; < = > ? @ [ \ ] ^ _ ' { | } ~'
[:space:] 空白字元,tab, newline, vertical tab, form feed, carriage return, and space.
[:upper:] 大寫字母
[:xdigit:] 任何16進制的數字,相當於[0-9a-fA-F]
所以:^[[:space:]]*$ :匹配沒有任何內容的行
需要注意:[]中的特殊字元如.已經失去了其特殊含義,和方括弧中的普通字元[abc]一樣。
『柒』 為什麼我的linux中的通配符*不能用啊
第一、確認你是在關閉中文輸入的條件下輸入的 * 和 ?。
第二、可以用 ls --quoting-style=shell 看看擴展名後面有沒有不可顯示的字元。
第三、確認沒有設置 noglob 選項,如果是 bash,運行 shopt 命令,看看輸出中有沒有 noglob。
『捌』 linux中命令通配符中的「^」這個是什麼意思,希望有人能
正則表達式中的通配符,
^ 匹配一行的開始。例如正則表達式^When in能夠匹配字元串"When in the course of human events"的開始,但是不能匹配"What and When in the course of human events",
通常與一些linux的命令配合起來使用,例如grep等來過濾
可以看看這個文檔
http://wenku..com/view/7aad27f34693daef5ef73d0d.html
『玖』 linux下使用通配符批量刪除文件
一、cd命令進入這個linux文件夾目錄。
二、打:
find . -type f -name *.log -mtime +x -exec rm -fv { } \;
命令作用:在當前目錄下查找x天前的後綴為log的文件並且刪除。
例:
find . -type f -name *.log -mtime +300 -exec rm -fv { } \;
查找300天前的後綴名為log的文件並且刪除。
命令詳細解釋:
. 在當前目錄下查找,如果要全盤查找的話,可以把.換成/,這樣前面的cd命令就不需要了。
-type f 查找的是普通文件,而不是文件夾
-name *.log 查找後綴為log的文件
-mtime +x 查找x天以前的文件,所以需要把這個x換成你自己需要查找的天數,比如30.你要刪除20090808以前的,就需要計算一下,它距離現在多少天。
-exec rm -fv { } \; 把查找的文件強制刪除
如果許可權不足,請以root身份運行命令。
如果是ubuntu,前面可以加sudo即可。