欲しい行を交換するPythonコード、ここ引用符が含まれています。
元のファイルの行は次のとおりです。
ScalarLogger("results.dat" ,('t',) + exp_data)
欲しいそれに変える
ScalarLogger("results_j" + str(sys.argv[1]) + "_h" + str(sys.argv[2]) + ".dat" , ('t',) + exp_data)
sed
だから私のアプローチは、次のコマンドを使用することです。
sed -i 'e/results.dat/results_j" + str(sys.argv[1]) + "_h" + str(sys.argv[2]) + ".dat/g' run.py
ただし、次のメッセージが表示されます。間違い:
sh: 1: /results.dat/results_j + str(sys.argv[1]) + _h + str(sys.argv[2]) + .dat/g: not found
/
役割を変更しましたが、まだ機能していません。
ベストアンサー1
あなたのsed
表情は言うe/.../.../g
よりも言うようですs/.../.../g
。
e
コマンドsed
は、引数(文字/
とlastを含むパターン/g
)をシェルコマンドにインポートし、データをそのコマンドの出力に置き換える(コマンドの置き換えと少し似ている)標準ユーティリティのGNU拡張です。
幸いなことに、そのコマンドが見つからず、有効で破壊的なシェルコマンドではありません。