mv public_html/*.??[g,f] public_html/images/
それはうまくいくでしょうか? .jpg、.png、および.gif拡張子を持つすべての写真/画像が移動されます。
(私はLinuxをインストールせず、オンライン端末を使用しました。残念ながら、ドキュメントには写真がありません)
答え1
[g,f]
g
、,
(カンマ)または一致しますf
。または[fg]
必要です。f
g
今技術的に言えば。
mv public_html/*.??[gf] public_html/images/
という名前のファイルも移動さfoo.x.f
れます?
。.
また、一部のシェルは、パターンに一致するファイルがない場合は、bash
文字通り名前付きファイルを移動することができます*.??[gf]
(Bourne Shellで発生したバグを修正しました。zsh
bash
)を使用してこの問題を解決できますshopt -s failglob
。
したがって、f
or で終わる 3 文字拡張子の場合はg
もっと多くなりますが、まだ最後の警告があります (一部のシェルを使用する[^.]
代わりに)。[!.]
mv public_html/*.[!.][!.][fg] public_html/images/
3人前手紙:
mv public_html/*.[[:alpha:]][[:alpha:]][fg] public_html/images/
jpg、png、gifの場合はzsh
シェルを使用してください。
mv public_html/*.(jpg|gif|png) public_html/images/
またはkshまたはzsh -o kshglob
orを使用してくださいbash -O extglob
。
mv public_html/*.@(jpg|gif|png) public_html/images/
答え2
仮定するbash
か、友達を使用することができます
mv public_html/*.??[gf] public_html/images/
またはより正確には一致します。
mv public_html/*.{jpg,png,gif} public_html/images/