各位老师好, 目前我想实现以下目的:将如下xyz文件从第四行开始(i.e.,坐标部分)的第一块(i.e atomic number)中的1,6改为H,C。应该怎么用bash实现?我尝试了sed -n '4,$p' file.xyz | awk -F " " '{gsub("1","H",$1)} 1' file.xyz, 但是修改后的内容和修改前的内容都存在,而不是我想实现的in-place替换, 谢谢!
0008noc H18C8 n-octane m062x_mg3s_geom 0 1 6 0.0001270000 0.7622750000 0.0000000000 6 -0.0001270000 -0.7622750000 0.0000000000 6 1.4005600000 1.3639510000 0.0000000000 6 -1.4005600000 -1.3639510000 0.0000000000 1 -0.5483350000 1.1232240000 0.8756670000 1 -0.5483350000 1.1232240000 -0.8756670000 1 0.5483350000 -1.1232240000 0.8756670000 1 0.5483350000 -1.1232240000 -0.8756670000 6 1.4005600000 2.8886130000 0.0000000000 6 -1.4005600000 -2.8886130000 0.0000000000 1 1.9498930000 1.0037730000 -0.8756240000 1 1.9498930000 1.0037730000 0.8756240000 1 -1.9498930000 -1.0037730000 -0.8756240000 1 -1.9498930000 -1.0037730000 0.8756240000 6 2.8071160000 3.4761310000 0.0000000000 6 -2.8071160000 -3.4761310000 0.0000000000 1 0.8513920000 3.2460940000 0.8749630000 1 0.8513920000 3.2460940000 -0.8749630000 1 -0.8513920000 -3.2460940000 0.8749630000 1 -0.8513920000 -3.2460940000 -0.8749630000 1 2.7884900000 4.5653920000 0.0000000000 1 -2.7884900000 -4.5653920000 0.0000000000 1 3.3629520000 3.1507160000 -0.8804370000 1 3.3629520000 3.1507160000 0.8804370000 1 -3.3629520000 -3.1507160000 -0.8804370000 1 -3.3629520000 -3.1507160000 0.8804370000
|