これはsedの私にとって本当の問題でした。
以下のようなオリジナルの入力ファイルがあります。
R shthk 0.900000
R mue 0.054100
R nue 0.121400
R oue 0.137700
R ystress 150.23000
Friction1.kという名前で、単一の値が 0.123200のファイルがあります。
シミュレーション中のmueの値を、そのファイルで指定された値に変更したいと思います。
次のsedスクリプトを使用します。
sed '/\<mue\>/!d;=;s/.* \([^ ]\+\).*/\1/;R Friction1.k' dynaRcoupledmodel.k |
sed 'N;N;s|\n|s/|;s|\n|/|;s|$|/|;q' >temp.sed
sed -i -f temp.sed dynaRcoupledmodel.k
に変わります
R shthk 0.900000
R mue 0.123200148
R nue 0.121400
R oue 0.137700
R ystress 150.23000
ソフトウェアはそのフォーマットに関して非常に厳密であるため、このコマンドを使用すると148、155、または159が余分に発生し、*PARAMETERが固有のTIMEを変更しようとしたというエラーが発生します。
以前は問題なく動作しましたが、現在はエラーが発生しています。
temp.sedを確認しましたが、その番号もありますが、回避するにはどうすればよいですか?
なぜこの数が余分に来るのか、どこから来るのかわかりませんが、それは私にとって問題です。専門家はそれを手伝ってくれますか?
よろしくお願いします