2

「赤」、「緑」、「青」タイプのファイルを入力して出力ファイル(「color.jpg」としましょう)を生成する「結合」と呼ばれるプログラムがあるとします...しかし、各タイプの任意です。また、ユーザーがファイルを分類する以外に、ファイルの種類を判断する方法がないとします。この場合、人々は通常何をしますか?

たとえば、コマンド ラインでは、次のようなアプローチが考えられます。

command red1,red2,red3 green1,green2 blue1 color.jpg

このカンマアプローチは、ファイル名にコンマが含まれる可能性がある場合には機能しません。それは私が最も好きなアプローチです。別のアイデアは

command "red1 red2 red3" "green1 green2" "blue1" color.jpg

しかし、このアプローチには名前のスペースの問題もあります。

各タイプのファイルを示すリストを含む ASCII ファイルを要求することもできます。

command redlist greenlist bluelist color.jpg

ただし、これには余分なファイルを持ち歩く必要があります。

さらなるアイデア?これを行う標準的なLINUXの方法はありますか?

4

2 に答える 2

3

標準的な方法は次のとおりです。

command --red red1.jpg --red red2.jpg --blue blue1.jpg

短いオプションの場合:

command -r red1.jpg -r red2.jpg -b blue1.jpg

bash の省略形を使用:

command -r={red1,red2}.jpg -b blue1.jpg

(上記はシェルによって展開されるため、前の呼び出しのように見えます。)

このようにすることで、「ファイル名にコンマを使用しない」などの恣意的な制限を回避し、プログラムを標準の *nix ユーティリティなどxargsとの相互運用性を高めることもできます。

于 2013-03-17T04:35:55.410 に答える
1

別の方法は受け入れることです:

command -r redfile1 redfile2 -b bluefile1 blue2 blue2 -g green1

となることによって:

command -r red* -b blue* -g green*

可能です。

于 2013-03-17T04:44:14.740 に答える