- ベストアンサー
ワイルドカード非対応のツールをワイルドカード対応にするには?
表記通り、 ワイルドカード非対応のツールをワイルドカード対応にするのに よく使われる方法はどんなのがあるんでしょうか? ツール・シェル等どちらでもかまいません。 よろしくお願いします!
- みんなの回答 (2)
- 専門家の回答
質問者が選んだベストアンサー
h-kikuさんの言われる引数を展開して・・というのは ツールによっては認識しないことがあります。 $ command * 展開後、command file1 file2 file3 となっていて、commandが、argv[1]しかみていなくて対応していなければ ワイルドカード対応とはいいきれませんね(汗) ---- とりあえず、手っ取り早い方法で、shellの機能で ループさせるのも1つの手です。 for loop in `ls *(ここにわいるどかーど)` do command $loop done #複数行分割で入力できます。 ls * の部分は、find等におきかえると、サブディレクトリの中も捜してくれたりします。 p.s.うちの場合、mp3えんこするのに、 for loop in `ls *.wav` do gogo $loop rm -rf $loop done って、いっつも打ち込んでます
その他の回答 (1)
- h-kiku
- ベストアンサー率50% (22/44)
回答No.1
質問の「ツール」というものが、どのようなものを 想定しているかわかりませんが. UNIX では、各コマンドがワイルドカードを処理している わけではなく、シェルがワイルドカードを展開しています. コマンドには、ワイルドカードが展開された状態で (引数として)渡されます. 個々のコマンドで、ワイルドカードを気にする 必要はありません.
お礼
お2人ともありがとうございます!ご覧になってくださった方もありがとうございます! そうなんです。これを投稿してからMS-DOSと違ってUNIXではシェルがワイルドカードを展開するはずだと思ったのですが、 abc.csh * とやったのですが、うまくいかなかったので「あれ?」と思っていました。 しりたかったのは、まさに、ymdaさんの方法です! ありがとうございます!助かりました。