0
2

Delete article

Deleted articles cannot be recovered.

Draft of this article would be also deleted.

Are you sure you want to delete this article?

More than 5 years have passed since last update.

diff + patch + git > 手順 > 24個のファイルそれぞれに対して8個のパラメータを変更する

Last updated at Posted at 2018-03-19
動作環境
Xeon E5-2620 v4 (8コア) x 2
32GB RAM
GeForce GT 730 1GB GDDR5
CentOS 6.9 (64bit)
NCAR Command Language Version 6.3.0
for WRF3.7.1, WPS3.7.1
  openmpi-1.8.x86_64 とその-devel
  mpich.x86_64 3.1-5.el6とその-devel
  gcc version 4.4.7 (とgfortran)
for WRF3.9, WPS3.9
  Open MPI v2.1.1
  gcc version 4.9.2 (とgfortran; devtoolset-3使用)
 NetCDF v4.4.1.1, NetCDF (Fortran API) v4.4.4
Python 2.6.6 (r266:84292, Aug 18 2016, 15:13:37) 
Python 3.6.0 on virtualenv
GNU bash, version 4.1.2(2)-release (x86_64-redhat-linux-gnu)
date (GNU coreutils) 8.4 
tmux 1.6-3.el6

やりたいこと

  • 24個のファイルがある
  • 全てのファイルに対して8個のパラメータを同じように変更する

24個のファイルに対してエディタで逐次修正していくと

  • 時間がかかる
  • 間違う

手順

以下とする

  1. gitの準備
    • git initにて対象ディレクトリのgit環境を用意
  2. 1つ目のファイル(以下file1)のオリジナルをコピーしておく
    • cp file1 original
  3. エディタにてfile1のパラメータを変更する
  4. diffを取る
    • diff original file1 > diff_file1
  5. git stashを使って変更を捨てる
    • git stash
    • git stash drop
  6. 全部のファイルにパッチ適用する
    • ls f*.input*で対象ファイル全てが見つかる場合
      • for afile in $(ls f*.input*);do patch $afile diff_file1;done
  7. 更新ファイル名の確認
    • git diff --name-only
  8. ファイルを1つ開いて変更されていることを確認

作業後、originalファイルとdiff_file1ファイルを消す。

備考

git diffによる差分ファイルを使おうとしたが、以下のようなエラーとなったため、上記の手順とした。

Hunk #n FAILED at nnn. n out of n hunks FAILED -- saving rejects to file file.rej

参考: http://uguisu.skr.jp/Windows/diff_patch.html

検索用キーワード

  • 複数の
0
2
0

Register as a new user and use Qiita more conveniently

  1. You get articles that match your needs
  2. You can efficiently read back useful information
  3. You can use dark theme
What you can do with signing up
0
2

Delete article

Deleted articles cannot be recovered.

Draft of this article would be also deleted.

Are you sure you want to delete this article?