私はグロビングパターンとワイルドカードに出くわしましたが、特に興味があるのは[!]です。
この構成は構成と似て
[!]いますが、大括弧内の任意の文字と一致するのではなく、[との間にリストされていない限り、任意の文字と一致します]。
rm myfile [!192]
上記では、名前に192が含まれているすべて/すべてのファイルを除いて、すべて/すべてのファイルが削除されると思います。
ただし、これをファイル拡張子とともに適切に使用すること、特に複数の条件について心配しています。
そのような状況で適切な構文は何でしょうか?
rm myfile [!.gif .csv. mp3]
または
rm myfile [!.gif !.csv !.mp3]
私の心配は、ピリオドが誤った場所に置かれる可能性があるため、特定のファイルの操作を引き起こそうとしているときに、(確かにそれらのいずれかでしょうか?)を含むすべてのファイル.が操作されることです。
この構成は構成と似て[ ]いますが、大括弧内の任意の文字と一致するのではなく、[との間にリストされていない限り、任意の文字と一致します]。
(http://www.tldp.org/LDP/GNU-Linux-Tools-Summary/html/x11655.htmから引用)
今; それから、単数!で十分であり、その中のすべての値が範囲内に含まれていることを示唆している私にとっては。
[!]ように似ているがない[!]
^とまったく同じ意味を持っている!ので、この文脈での[^a]除外をaまったく同じように[!a]行います。最初の文字は、以下の場合は[です!または^の場合、囲まれていない任意の文字が一致します。(man bash)
rm myfile [!192]削除されるmyfileだけでなく、任意の単一文字のファイル名前が付けられていない1、9または2。
ls my-patternまたはecho my-commandを使用して、実行前にrm