mkdir一次建立同級別的多個目錄

問題:mkdir dir[0-9]建立文件夾時,並無如預期建立dir0~dir9這幾個文件夾,而是建立了dir[0-9]這一個文件夾。html

 

網上看了些相關資料,發現之前對[0-9]的理解不夠透徹:正則表達式

 

「因爲[0-9]這種匹配模式是出如今命令的 argument位置上,因此由shell負責解釋(因此嚴格而言, [0-9]是通配符,而不是正則表達式)。對shell而言,統配符只對文件名有效,也就是說,當shell遇到出如今某個命令行的argument位置 上的通配符時,它先要去參數所指定的目錄下搜索全部已經存在的文件,全部文件名字與之匹配的都要替換到argument位置上(這與不少標準的命令支持多 個文件名參數是一致的),而後調用該命令執行. 
 
對於mkdir ./dir[0-9]而言,shell沒法在當前目錄下找到與之匹配的文件名,因此就不替換,dir[0-9]按照原樣傳給mkdir程序,因此mkdir就創建了一個名字爲dir[0-9]的目錄. 
 
 總之一句話,通配符(出如今argument位置)由shell負責解釋(與現有的文件名匹配),與具體的命令(ls,rm,mkdir)無關.正則表達式(出如今option位置上)由具體的應用程序解釋(grep,sed,awk),與shell無關。」shell

 

---引自:http://blog.chinaunix.net/u/19782/showart_340548.html.net

 

那麼如何利用mkdir批量建立文件夾呢?命令行

1.seq -f "dir%01g" 1 9| xargs mkdirunix

 #seq -f :格式化輸出,有點相似printfhtm

2.mkdir dir{1..5}blog

 

 

---引自 http://blog.csdn.net/tbocd/article/details/4194851io

相關文章
相關標籤/搜索