mv public_html/*.??[g,f] public_html/images/
Run Code Online (Sandbox Code Playgroud)
那能行吗?这样所有扩展名为 .jpg、.png 和 .gif 的照片/图像都将被移动。
(我没有安装 Linux,我使用的是在线终端。不幸的是,他们的文件中没有任何照片)
[g,f]
匹配g
, ,
(逗号)或f
. 您[fg]
只需要f
或g
。
现在,从技术上讲。
mv public_html/*.??[gf] public_html/images/
Run Code Online (Sandbox Code Playgroud)
也会移动一个名为foo.x.f
as的文件?
也匹配一个.
.
而且,如果没有文件匹配该模式,那么一些炮弹一样bash
可以移动一个字面上叫文件*.??[gf]
(由Bourne shell中引入了一个错误,在再次固定zsh
,你可以解决它bash
同shopt -s failglob
)。
所以,这里有一个以f
or结尾的 3 个字符的扩展g
,那会更多,但仍然有最后一个警告([^.]
而不是[!.]
一些外壳):
mv public_html/*.[!.][!.][fg] public_html/images/
Run Code Online (Sandbox Code Playgroud)
对于 3 个字母:
mv public_html/*.[[:alpha:]][[:alpha:]][fg] public_html/images/
Run Code Online (Sandbox Code Playgroud)
对于 jpg、png 或 gif,带zsh
外壳:
mv public_html/*.(jpg|gif|png) public_html/images/
Run Code Online (Sandbox Code Playgroud)
或使用 ksh 或zsh -o kshglob
或bash -O extglob
:
mv public_html/*.@(jpg|gif|png) public_html/images/
Run Code Online (Sandbox Code Playgroud)