動作環境
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個のファイルに対してエディタで逐次修正していくと
- 時間がかかる
- 間違う
手順
以下とする
- gitの準備
- git initにて対象ディレクトリのgit環境を用意
- 1つ目のファイル(以下file1)のオリジナルをコピーしておく
cp file1 original
- エディタにてfile1のパラメータを変更する
- diffを取る
diff original file1 > diff_file1
- git stashを使って変更を捨てる
git stash
git stash drop
- 全部のファイルにパッチ適用する
-
ls f*.input*
で対象ファイル全てが見つかる場合for afile in $(ls f*.input*);do patch $afile diff_file1;done
-
- 更新ファイル名の確認
git diff --name-only
- ファイルを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
検索用キーワード
- 複数の