GoGPT Best VPN GoSearch

OnWorksファビコン

mad - クラウドでオンライン

Ubuntu Online、Fedora Online、Windows オンライン エミュレーター、または MAC OS オンライン エミュレーターを介して、OnWorks の無料ホスティング プロバイダーで実行します。

これは、Ubuntu Online、Fedora Online、Windows オンライン エミュレーター、MAC OS オンライン エミュレーターなど、複数の無料オンライン ワークステーションのいずれかを使用して、OnWorks 無料ホスティング プロバイダーで実行できる mad コマンドです。

プログラム:

NAME


mmv - ワイルドカード パターンによる複数のファイルの移動/コピー/追加/リンク

SYNOPSIS


mmv [-m|x|r|c|o|a|l|s] [-h] [-d|p] [-g|t] [-v|n] [--] [from 〜へ]


すべての名前を変更 *.jpeg 現在のディレクトリ内のファイルを * .jpg:

mmv '*.jpeg' '#1.jpg'

最初に出現したものを置き換えます ABC   XYZ 現在のディレクトリ内のすべてのファイルで:

mmv '*abc*' '#1xyz#2'

で終わるファイルの名前を変更する .html.en, .html.deなどで終わる .en.html, .de.html、など
現在のディレクトリ:

mmv '*.html.??' 「#1.#2#3.html」

から音楽ファイルの名前を変更 <トラック 番号> - - <歌 タイトル>.ogg 〜へ -
<トラック 番号> - <歌 タイトル>.ogg 現在のディレクトリ:

mmv '* - * - *.ogg' '#2 - #1 - #3.ogg'

DESCRIPTION


うーん に一致する各ソース ファイルを移動 (または、指定に従ってコピー、追加、またはリンク) します。 from
によって指定されたターゲット名へのパターン 〜へ パターン。 この複数のアクションが実行されます
安全に、つまり、ターゲット名の衝突による予期しないファイルの削除なし
既存のファイル名または他のターゲット名で。 さらに、何かをする前に、
mmv アクションのセット全体から生じるエラーを検出しようとします。
指定され、問題を回避することによって続行するかどうかの選択をユーザーに与えます
部品または中止。 mmv ラージ ファイル (LFS) はサポートしていますが、スパースは*サポートしていません*
ファイル (つまり、それらを展開します)。

タスク オプション

かどうか mmv 移動、コピー、追加、またはリンクは、指定された最初のオプション セットによって管理されます。
その上。 これらのいずれも指定されていない場合、タスクはコマンド名で指定されます。
mmv 呼び出されました (argv[0]):

コマンド名 デフォルトタスク

mmv-x
mcp -c
狂った-a
mln -l

タスク オプションの選択肢は次のとおりです。

-m : ソース ファイルをターゲット名に移動します。 両方が同じデバイス上にある必要があります。 動かない
ディレクトリ。 ソース ファイルがシンボリック リンクの場合、リンクを移動します。
新しいディレクトリからのリンクのターゲットが古いディレクトリと異なるかどうかを確認します。

-x : -m と同じですが、ソースをコピーしてから削除することでクロスデバイス移動が行われます。
コピー時に、ターゲットの許可ビットとファイル変更時刻を設定します
ファイルをソース ファイルのファイルに変更します。

-r : ソース ファイルまたはディレクトリの名前をターゲット名に変更します。 ターゲット名に
path: ファイルは常に同じディレクトリに残ります。 このオプションは唯一の
ディレクトリの名前を変更する方法 mmv.

-c : ソース ファイルをターゲット名にコピーします。 ファイルの変更時間と権限を設定します
ターゲット ファイルのビットをソース ファイルのビットに変換します。
対象ファイルは既に存在します。 チェーンとサイクル (以下で説明) は、
ことができました。

-o : ターゲット名をソース ファイルで上書きします。 対象ファイルが存在する場合は上書きされ、
元の所有者と許可ビットを保持します。 存在しない場合は、
に従って作成され、読み取り/書き込み許可ビットが設定されます umask(1)、および実行
ソース ファイルからコピーされた許可ビット。 いずれの場合も、ファイルの変更
time は現在の時刻に設定されます。

-a : ソース ファイルの内容をターゲット名に追加します。 対象ファイルの変更時刻は
現在時刻に設定します。 ターゲットファイルが存在しない場合は、で作成されます
-o の下で許可ビットが設定されます。 他のすべてのオプションとは異なり、-a では複数のオプションを使用できます
ソース ファイルは同じターゲット名を持つようにします。たとえば、"mmv -a \*.c big" はすべてを追加します。
「.c」ファイルを「big」に。 チェーンとサイクルも許可されているため、「mmv -aff」は
「f」をXNUMX倍にします。

-l : ターゲット名をソース ファイルにリンクします。 両方が同じデバイス上にある必要があり、ソース
ディレクトリであってはなりません。 チェーンとサイクルは許可されていません。

-s : -l と同じですが、ハード リンクの代わりにシンボリック リンクを使用します。 結果のリンクについて
ソースに戻るには、ソース名が「/」で始まるか、
ターゲットは、現在のディレクトリまたはソース ディレクトリに存在する必要があります。 これらのいずれでもない場合
条件が満たされている場合、リンクは拒否されます。 ただし、ソースとターゲットは次の場所に存在できます
ソースはディレクトリにすることができます。

これらのオプションは XNUMX つだけ指定でき、一致するすべてのファイルに適用されます。 残り
オプションを個別に指定する必要はありません。つまり、"mmv -mk" が許可されます。

複数のパターン ペア / STDIN からのパターンの読み取り

複数 from -- 〜へ パターン ペアは、
コマンドラインに入力し、標準入力に XNUMX 行に XNUMX 組ずつ入力します。 (パターンの場合
コマンドラインでペアが指定された場合、標準入力は読み取られません。) したがって、

mmv
ab
cd

「a」を「b」に、「c」を「d」に名前を変更します。 ファイルが指定されたいくつかに一致する場合
from パターン、 〜へ 最初に一致したペアのパターンが使用されます。 したがって、

mmv
ab
交流

ファイル「a」(存在する場合でも)が
最初のパターン ペアですでに一致しています。

警告: この動作モードは パターン自体に含まれている場合に機能します スペース。 見る
http://bugs.debian.org/149873 より詳細をご確認いただけます。

当学校区の パターン

当学校区の from pattern は、ワイルドカード '*'、'?'、'['...']'、および ';' が埋め込まれたファイル名です。 の
最初の XNUMX つは通常の sh(1) の任意の文字列に一致するそれぞれの意味
文字、任意の XNUMX 文字に一致する文字、および一連の文字のいずれかに一致する文字。

「[」と「]」の間に、文字「a」から文字「z」までの範囲が指定されています
「アズ」で。 一致する文字のセットは、後に「^」を挿入することで否定できます。
'['. したがって、"[^b-e2-5_]" は、'b' から 'e'、'2' から '5'、
と '_'。

パターンではパスが許可されており、ワイルドカードが混在している可能性があることに注意してください。
勝手に斬る。 「;」 ワイルドカードは、任意の深さでファイルを照合するのに役立ちます
ディレクトリ ツリー。 ゼロを含む任意の回数繰り返される "*/" と同じに一致します。
パターンの先頭または「/」の後にのみ発生します。 したがって、「;*.c」
現在のディレクトリ内またはその下にあるすべての「.c」ファイルに一致し、「/;*.c」はそれらに一致します
ファイルシステムのどこでも。

また、 from パターン (または 〜へ pattern) は "~/" で始まり、'~' は置き換えられます
ホームディレクトリ名で。 ("~user" 機能に注意してください CSH(1) ではない
実装されています。) ただし、ワイルドカードではないという意味で、'~' はワイルドカードとして扱われません。
ワイルドカード インデックスが割り当てられます (以下を参照)。

-r または -s 以外のタスク オプションでディレクトリを照合すると、
エラー、-r および -s 以外のタスクは、完全に明示的なディレクトリに対してのみ一致します from
パターン (つまり、ワイルドカードを含まない)。 -r および -s の下では、これは "." にのみ適用されます。 と
「..」。

「.」で始まるファイルのみに一致します from で始まるパターン
明示的な「.」。 ただし、-h を指定すると、正常に一致します。

警告: シェルは通常、コマンドラインを渡す前にワイルドカードを展開するため
引数 mmv、通常、コマンドラインを囲む必要があります from   〜へ パターン
引用符で囲みます。

当学校区の パターン

当学校区の 〜へ パターンは埋め込まれたファイル名です ワイルドカード インデックス、インデックスが構成されます
文字「#」の後に数字の文字列が続きます。 ソースファイルが from
パターン、ファイルのターゲット名は、 〜へ を入れ替えてパターン化
で参照されているワイルドカードに一致する実際の文字によるワイルドカード インデックス。
ソース名。 したがって、 from パターンは「abc*.*」で、 〜へ パターンが「xyz#2.#1」の場合
「abc.txt」は「xyztxt.」を対象としています。 (最初の '*' は "" に一致し、XNUMX 番目は一致しました
"txt".) 同様に、パターン ペア ";*.[clp]" -> "#1#3/#2" の場合、"foo1/foo2/prog.c" は
「foo1/foo2/c/prog」を対象としています。 「#1」の後に「/」がないことに注意してください。 〜へ
パターン、文字列は任意の ';' に一致するためは常に空であるか、'/' で終わります。 の
この場合、「foo1/foo2/」に一致します。

ワイルドカードに一致する文字列を小文字または大文字に変換する前に
ターゲット名に埋め込むには、「#」と「」の間にそれぞれ「l」または「u」を挿入します
数字の文字列。

当学校区の 〜へ のようなパターン from "~/" で始めることができます (上記参照)。 これはしません
を同封する必要がある 〜へ コマンドラインで引用符で囲んだパターン CSH(1) 広がる
'~' とまったく同じ方法で mmv (または、 sh(1)、それを展開しません
全て)。

-r 以外のすべてのタスク オプションで、ターゲット名がディレクトリの場合、実際のターゲット
name は、'/' の後にソース ファイル名の最後のコンポーネントを追加することによって形成されます。
たとえば、「mmv dir1/a dir2」は、「dir2」が実際にディレクトリである場合、実際に移動します
「dir1/a」から「dir2/a」。 ただし、「dir2/a」がすでに存在し、それ自体がディレクトリである場合、これは
エラーと見なされます。

任意の文字 (「*」、「?」、または「#」など) の特別な意味を取り除くには、 mmv、のときのように、
実際の置換名には、特殊文字の前に文字「#」を含める必要があります。
'\' (シェルのため、引数を引用符で囲みます)。 これはまた
ファイル名で数字が続く必要がある場合、ワイルドカード インデックスを終了します。
"a#1\1".

チェーンとサイクル

チェーンは、XNUMX つのアクションのターゲット名が参照する一連の指定されたアクションです。
別のアクションのソース ファイル。 例えば、

mmv
ab
紀元前

チェーン "a" -> "b" -> "c" を指定します。 サイクルは、最後のターゲット名が
「mmv aa」など、最初のソース ファイルを参照します。 うーん チェーンとサイクルを検出
それらの構成アクションが実際に与えられる順序に関係なく。 どこ
許可、つまり、ファイルの移動、名前変更、および追加では、チェーンとサイクルが処理されます
適切な順序でそれらを実行することにより、優雅に。 サイクルは最初の名前変更によって中断されます
ファイルのXNUMXつを一時的な名前に変更します(または、元のサイズを覚えているだけです
追加します)。

衝突と削除

XNUMX つ以上の一致するファイルを同じファイルに移動、コピー、またはリンクする必要がある場合
ターゲットファイル名、 mmv アクションを実行する前に、状態をエラーとして検出します。
また、 mmv そのアクションのいずれかが既存の破壊をもたらすかどうかをチェックします
ファイル。 -d (削除) オプションが指定されている場合、すべてのファイルの削除または上書きが行われます
静かに。 -p (保護) の下では、すべての削除または上書き (で指定されたものを除く)
標準入力の "(*)" (下記参照) はエラーとして扱われます。 そして、どちらのオプションも
指定すると、ユーザーは削除または上書きごとに個別に照会されます。 (新しいストリーム
to "/dev/tty" は、標準入力ではなく、すべての対話型クエリに使用されます。)

エラー処理

ユーザーのアクション仕様にエラーが検出されるたびに、エラー メッセージが表示されます。
標準出力に与えられ、 mmv 指定されたアクションの残りのチェックに進みます。
すべてのエラーが検出されると、 mmv 続行するかどうかをユーザーに問い合わせる
誤ったアクションを回避するか、完全に中止します。 これと他のすべてのクエリは、
-g (go) または -t (terminate) オプションを指定することで回避できます。 前者は
誤った行動を避けることですべての問題を解決します。 後者は中止します mmv if
エラーが検出されます。 どちらかのデフォルトを指定する mmv -d でない限り、-p に
指定されています (上記参照)。 したがって、-g と -t は、実行時に最も役立ちます。 mmv バックグラウンドで
またはシェルスクリプトで、インタラクティブなクエリが望ましくない場合。

レポート

やるべき行動が決まったら、 mmv いずれかの場合を除いて、それらを静かに実行します
-v (verbose) または -n (no-execute) オプションが指定されています。 前者の原因 mmv 報告する
それぞれが標準出力に対して次のようにアクションを実行しました

a -> b : 完了。

ここで、「a」と「b」は、それぞれソース名とターゲット名に置き換えられます。 もし
アクションは古いターゲットを削除し、ターゲット名の後に「(*)」が挿入されます。 また、
「->」記号は、サイクルを中断する必要がある場合に変更されます。「>」は、「^」に変更されます。
古いターゲットの名前が一時的に変更される前のアクション、および「-」がに変更されます
一時が使用されるアクションの「=」。

-n では、何も実行されませんが、上記のようなメッセージが表示されます
「:don​​e」付きの標準出力。 省略。

-n によって生成された出力は、(必要に応じて編集した後に) にフィードバックできます。 mmv
標準入力 (省略して from -- 〜へ 上のペア mmv コマンドライン)。 簡単にする
この、 mmv 独自のエラーと「完了」のように見える標準入力の行を無視します
メッセージ、および空白で始まるすべての行は、パターンのペアを受け入れます
"->" (または "-^"、"=>"、または "=^") の有無にかかわらず)。 の後に「(*)」が付いている行
target パターンは、このパターンに一致するファイルに対してのみ -d を有効にする効果があるため、
そのような削除は静かに行われます。

警告: これは、 予期しない 物事 次の場合に発生する可能性があります ファイル 柄に合わせた
含む スペース。 見る http://bugs.debian.org/149873 より詳細をご確認いただけます。

給餌時 mmv 独自の出力である場合、タスク オプションを再度指定することを忘れないでください (
any) 元々はそれを生成するために使用されていました。

しかし mmv 指定されたアクションを実行する前に、すべての事故を予測しようとします。
事故が起こる可能性があります。 例えば、 mmv 次の場合、適切な空き容量をチェックしません。
コピー。 したがって、あらゆる努力にもかかわらず、アクションが失敗する可能性があります。
他のものはすでに行われています。 できるだけ簡単に復元するには、 mmv 報告する
アクションはすでに実行されており、そのような失敗の後にまだ実行されていません
発生します。 その後、他に何もしようとせずに中止します。 ユーザーがクリアしたら
問題、彼はこのレポートを mmv 標準入力でそれを完成させます
タスク。 (標準出力が
リダイレクトされていません。)

EXIT ステータス


うーん 何かを行う前に中止した場合はステータス 1 で終了し、途中で中止した場合はステータス 2 で終了します。
いくつかのアクションを完了すると失敗し、それ以外の場合はステータス 0 になります。

onworks.net サービスを使用して mad online を使用する


無料のサーバーとワークステーション

Windows と Linux のアプリをダウンロード

Linuxコマンド

Ad




×
Advertisement
❤️ここでショッピング、予約、購入してください。料金はかかりません。これにより、サービスが無料で維持されます。