たくさん グロブとパイプ 多くの場合、コンソールから作業する場合、Unixは非常に有益です。 名前などの代わりに、パイプを使用したり、ワイルドカード*などの有名な文字を使用したりしました。 まあ、確かに彼らはまた、それらのXNUMXつ以上を除いてディレクトリ内のすべてのファイルを削除したいという問題に遭遇しました。 少ない場合は問題ありませんが、グラフィカルモードでも簡単に行えます。
しかし、多くの場合、 コンソールからの作業 物事はもう少し複雑になります。 しかし、それはリソースがないからです。複雑なタスクを非常に単純なものに変換するために利用できる単純なオプションがあるからです。 さて、この簡単なチュートリアルでは、簡単な記号を使用してそれを行う方法を説明します...簡単ですよね? さて、練習に行きましょう:
まず第一に、私は私たちが持っていることを想像するつもりです ディレクトリ 中にあるすべての.jpeg画像ファイルを削除したい写真と呼ばれます。 100枚の写真があると想像してみましょう。 そして、nat7.jpgという名前のXNUMXつを除いてすべてを削除したいと思います。 最初のステップは、cdコマンドを使用してそのディレクトリに移動することです。 例えば:
cd /home/Fotos
次に、必要なときによく行うようにrmコマンドを使用します 消す 何かですが、残しておきたい写真以外はすべて削除したいので、キャラクターを使用します! そのような:
rm -f !(nat7.jpg)
これで、rmへの削除を拒否し、nat7.jpgという名前のファイルを除くすべてを削除します。 あなたがディレクトリに行ってやるなら リスト コンテンツのうち、目的の写真以外のすべてが削除されたことを確認できます。
ls /home/Fotos
今、あなたはこのグロブで遊ぶことができます MP3ファイルを除くディレクトリ内のすべてのファイルを!(*。mp3)で削除したり、!(nat7.jpg | isa5.jpg)や!(* .txt | * .mp3)。 可能性はたくさんあります...これはUnixです、これはLinuxです!
私たちが何かを学ばない日はありません! 私はPCを約30年、Linuxを20年近くいじっていますが、コンソールにはあまり慣れていません。非常に便利であることは認めますが、コマンドの記憶とグラフィカルモードへの移行を祝います。 私はこのグロブのオプションをまったく知りませんでした。それなしで生き残ることは難しくありませんでしたが、非常に便利で実用的であることに加えて、理解と適用が簡単であることは認められなければなりません。 私はよく注意します。
非常に役立つことは間違いありませんが、貢献していただきありがとうございます。
ねえ。
どうもありがとうございましたが…
rm -f!(* .exe)
bash:!:イベントが見つかりません
こんにちは、
これをアクティブにしてみてください:
shopt -s extglob; セット-H
そして、もう一度やり直してください。
rm -f!(* .exe)
ではごきげんよう! 私はそれがあなたのために働くことを願っています。 そして私たちをフォローしてくれてありがとう...
こんにちは、質問があります。試したときにすべてが削除されるため、XNUMXつのファイルを同時に保存できませんでしたが、XNUMXつだけで保存した場合は保存できます。 どうなり得るか? それを解決する方法は?