gpt4 book ai didi

python - 拆分配置文件中的文本

转载 作者:行者123 更新时间:2023-12-05 09:28:14 25 4
gpt4 key购买 nike

我正在尝试编写一个简单的配置文件解析器,例如,可能有一个名为 INCAR 的文件:

NSW    = 1000
POTIM = 1
TEBEG = 300

如果我想提取 POTIM 的值,我可以采用 awk 提取空白之间的文本并使用以下脚本:

#!/bin/bash

vaspT ()
{
if [ -f INCAR ]; then
local potim=$(grep POTIM INCAR | awk '{print $3}');
else
local potim=1;
fi;
echo "# Time step: ${potim}" > .vasp_md.dat;
echo "# Step Temperature Total_energy E_pot E_kin" >> .vasp_md.dat;
}

vaspT

但是如果有人不遵守对齐规则,并且使用这样的配置文件:

NSW = 1000
POTIM=1
TEBEG=300

然后,我必须使用另一个分隔符。
我的问题是:
对于这种工作,是否有简单的解决方案或现有的库(Python 或 Bash 是可以接受的)?

最佳答案

使用sed

#!/bin/bash

vaspT ()
{
if [ -f INCAR ]; then
local potim
potim=$(sed -n '/POTIM/s/.*=[[:space:]]\?\(.*\)/\1/p' INCAR)
else
local potim
potim=1
fi
echo "# Time step: ${potim}" > .vasp_md.dat
echo "# Step Temperature Total_energy E_pot E_kin" >> .vasp_md.dat
}

vaspT

关于python - 拆分配置文件中的文本,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/71627347/

25 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com