2016-05-14 28 views
1

我有一個文件中的下面的行:桑達更換線的「非固定的」部分

cmd="mpirun -np 16 $executable /home/lahiria/NEMO5_debug/prototype/examples/readin_hamiltonian/121_structure_tranmission_test/ip10.in" 

其中在端部,而不是IP10,也可能是IP20,或IP30或IP,接着由任何數量,這取決於其他事情。現在我怎麼可以替換ipxy與IP $ j,我有一個變量j=pq。例如,如果j=45,則ip10更改爲ip45。我想我必須使用sed來執行此操作。 謝謝!

回答

1

您可以使用此sed命令:

j=45 
sed -E "s/ip[[:digit:]]{2}/ip$j/" file 

模式ip[[:digit:]]{2}/將匹配文字文本ip後跟任意2位數字。

輸出:

cmd="mpirun -np 16 $executable /home/lahiria/NEMO5_debug/prototype/examples/readin_hamiltonian/121_structure_tranmission_test/ip45.in"