歡迎來到Linux教程網
Linux教程網
Linux教程網
Linux教程網
您现在的位置: Linux教程網 >> UnixLinux >  >> Linux綜合 >> 學習Linux

文件名通配,文件名通

文件名通配,文件名通


文件名通配,文件名通


命令別名

alias cls='clear'

在shell中定義的別名僅在當前shell生命周期中有效;

別名的有效范圍:當前shell進程

unalias cls

\CMD 使用命令本身

 

命令替換 $(pwd) , 反引號:`pwd`

把命令中某個子命令替換為其執行結果的過程

echo "The current directory is $(pwd)."

touch ./file-$(date +%F-%H-%M-%S).txt

 

bash支持的引號:

``:命令替換

"":弱引用,可以實現變量替換

'':強引用,不完成變量替換

 

文件名通配,globbing

*,匹配任意長度的任意字符

?,匹配任意單個字符

[],匹配指定范圍內的任意單個字符

  [abc],[a-m],[a-z],[A-Z],[0-9],[a-zA-Z],[0-9a-zA-Z]

  [:space:],表示空白字符

  [:punct:],表示所有標點符號

  [:lower:],表示小寫字母

  [:upper:],表示大寫字母

  [:alpha:],表示大小寫字母

  ^[:alpha:],表示非字母

  [:digit:],表示數字

  [:alnum:],表示數字和大小寫字母(alpha number)

#man 7 glob

[^],脫字符,匹配指定范圍外的任意單個字符

以一個字母開頭,後面跟數字的文件:ls [[:alpha:]][[:digit:]]*

以a開頭,後面跟任意字符的文件:ls a*

以a開頭,以3結尾的文件:ls a*3

以字母開頭,後面跟任意數字的文件:ls [a-zA-Z][0-9]*

以a開頭,後面跟一個數字:ls a[0-9]*

以任意一個字符開頭,後面跟一個y,又跟其他任意字符的文件:ls ?y*

以字母開頭,中間跟任意字符,以數字結尾: ls [a-zA-Z]*[0-9]

以非數字開頭的所有文件:ls [^0-9]*

以字母開頭,中間包含空白字符,以字母結尾的文件:ls [[:alpha:]]*[[:space:]]*[[:alpha:]]

練習:

1.顯示所有以a或m開頭的文件:ls [am]*

2.顯示所有文件名中包含了數字的文件:ls *[0-9]*

3.顯示所有以數字結尾且文件名中不包含空白的文件:正則表達式

4.顯示文件名中包含了非字母或數字的特殊符號的文件:ls *[^[:alnum:]]*

 

http://xxxxxx/Linuxjc/1155297.html TechArticle

Copyright © Linux教程網 All Rights Reserved