変数=テキストを含むファイルを読み取るには、bashスクリプトを作成する必要があります。私にとって必要なのは、ファイルを確認し、変数名を無視してテキスト内の=記号の後の単語を検索するスクリプトです。
はい
thread.give_respect.title = Give respect
thread.receive_respect.title = Gain respect
thread.profile_respect.title = Show my Respect
最初の部分は変更可能なので、単語は必要ありません。尊敬変更されました。 =次に1つだけ出てきますね。そして、可能であれば、変更したい単語に大文字があることを確認して、それに合わせて変更できるようにしたいと思います。
編集する:
Esteban スクリプトを試しましたが、各行の先頭に ${var のファイルが作成されました。
何を交換したいか尋ねる他の人に:
私たちは巨大なファイルを持っています文字列変数=対応するテキスト。たとえば、
admin.help_text = help
admin.Help_text = Help
home.faq_title = FAQ
...
これらのファイルには、15,000以上の変数とその値が含まれています。時々私たちは言葉到着その他たとえば、
**help** to **guidance**
**Help** to **Guidance**
**helper** to **guide**
**Helper** to **Guide**
私たちに必要なもの:
ファイルを確認するスクリプト:ワード1、ワード2、ワード3そしてワード4。
その単語が存在する場合ワイヤーわかったワイヤー別のファイルとして。
すべての作業が完了したら、新しいファイルでword1、word2などを見つけて置き換えます。
たとえば、すべての変数とその内容を含むファイル(file1.txt)があります。
admin.help_text = help
admin.Help_text = Help
home.faq_title = FAQ
home.something.help = If you need help please send us email on...
スクリプトが起動したら、次のことを確認してください。
word1 = help
word2 = Help
見つかった行をfile2.txtに保存します。
admin.help_text = help
admin.Help_text = Help
home.something.help = If you need help please send us email on...
その後、スクリプトはfile2.txtを確認して変更します。助ける到着ガイドそして 助ける到着ガイド
admin.help_text = guidance
admin.Help_text = Guidance
home.something.help = If you need guidance please send us email on...
ベストアンサー1
質問が編集されたので:
@Apocパターンの数が制限されている場合は、次の手順を使用して手順1と2を実行できます。
awk -F'=' '$2 ~ /word1|word2|word3|word4/' file1.txt > file2.txt
ステップ3では、必要な方法と実行する方法によって異なります。
私は次のことをします:
- 各行を繰り返します。
- 変数セクションの検索
- 必要に応じて変更してください。
- 変更された行を一時出力ファイルとして印刷する
- ファイルを一時ファイルに置き換える
シェルスクリプトから:
#!/bin/sh
# Loop through lines
cat file.txt | while read line; do
# Store variable part of the line
var=`echo $line | sed -r 's/^[^=][ ]?(.*)$/\1/'`
# Make the modification you want on var
# ...
# Print in temporary file the modified line
echo $line | sed -r 's/^([^=])/\1 ${var}/' >> temporary_file.txt
done
# Replace file by temporary one
mv temporary_file.txt file.txt