1

ファイルの一部としてデザイン名を使用するファイルを含むフォルダーが与えられた場合、デザイン名とsvn rename一致するものを実行したいと考えています。ファイル (ここに示されている以外のファイル) を示すディレクトリ リストの形式は次のとおりです。

    reg_ptst_lib_ptst_rtl_12.ngc
    reg_ptst_lib_ptst_rtl_13.ngc
    reg_ptst_lib_ptst_rtl_14.ngc
    reg_ptst_lib_ptst_rtl_15.ngc

デザイン名の文字列はptstです。次のコマンドのようなものを実行して、スクリプトで各ファイルを反復処理したいと考えています。

$svn rename reg_ptst_lib_ptst_rtl_12.ngc reg_scst3_lib_scst3_rtl_12.ngc  

Subversion でデザイン名を から に変更しptstます。scst3

4

3 に答える 3

9

ruby や perl を使用する必要はありfindませawkbash。ファイルを含むディレクトリで:

find *.ngc | awk '{ str=$0; gsub(/ptst/,"scst3",str); print "svn rename " $0 " " str }' | bash

| bashsvn rename コマンドを端末に出力するfinal を削除することで、これを最初にテストできます。

于 2013-03-13T14:40:56.817 に答える
0

ファイル名にスペースが含まれている場合に他の誰か (私のような) が同様の操作を実行したい場合に備えて、Jon と同じ方法でファイル名を引用符で囲みます。

find *.ngc | awk '{ str=$0; gsub(/ptst/,"scst3",str); print "svn rename \"" $0 "\" \"" str "\""}' | bash
于 2017-01-09T20:02:06.093 に答える
0

tacklebarこのタスク (プロジェクトと呼ばれる) の総司令官 + Windows バッチ ファイルを動作させました。キーボード ショートカットまたはツールバー ボタンで選択したファイルの引数を使用してスクリプトを呼び出すことができる限り、Far や Double Commander などの他のコマンドを使用することができます (現在、インストーラーは Total Commander のみをサポートしています)。

コマンダーアプリケーションで名前を変更したいファイル/ディレクトリを選択し(ここではバージョン管理下にあるかどうかは関係ありません)、それらを一時的に作成されたテキストファイルに入れます(トータルコマンダーは%L変数を介して自動的に行います)そして次に、スクリプトを呼び出して、そのリスト ファイルで選択されたパスの名前を変更します。

このスクリプトは、リスト ファイルを 2 つの一時リスト ファイルにコピーするだけで、たとえば Notepad++ を開いて 2 番目のリスト ファイルを編集します。Notepad++ でファイルの名前を変更したら、エディターを閉じて変更を保存します。その後、スクリプトは 2 つのリストを比較して名前を変更します。

以下から実行して、スクリプトと他のすべてのスクリプトを Total Commander ボタン バーにインストールできます_install.bat

https://sf.net/p/tacklebar/tacklebar/HEAD/tree/trunk/

サードパーティの依存関係をインストールするには、次から実行_install.batします。

https://sf.net/p/tacklebar/external_tools/HEAD/tree/trunk/

github のプロジェクト:

https://github.com/andry81/tacklebar https://github.com/andry81/tacklebar/blob/trunk/README.md

于 2018-07-19T19:08:40.640 に答える