やりたいこと
gitレポジトリ内の、全ての特定の単語を入れ替えたい。
用意したcsvファイルの、2列目の単語:old, 4列目の単語:newとする。
git grep -l
にて、変換対象ファイル名を取得 -> sed
にて oldをnewに置換する。
csv
1Account,zipcode__c,Account,Zipcode__c 2Account,workregulations__c,Contact,RegulationCheck__c 3...
sh
1#!/bin/bash 2CSV_FILE=api_name_matching.csv 3 4echo "replasing start..." 5 6while read row; do 7 old=`echo -ne ${row} | cut -d , -f 2` 8 new=`echo -ne ${row} | cut -d , -f 4` 9 10 echo "${old} -> ${new}" 11 12 git grep -l $old | xargs sed -i '' -e "s/${old}/${new}/g" 13 14done < $CSV_FILE 15 16echo "replasing end"
問題
変換後に、改行コード(CR)が含まれてしまう。
つまり、
if 'zipcode__c' in strings: something_treatments()
のようなコードが、
if 'Zipcode__c ' in strings: something_treatments()
となってしまいます。
どうやったら改行コードなしで変換できるでしょうか、、、?
回答1件
あなたの回答
tips
プレビュー