awk/sed操作ini文件

#!/bin/sh

# author lijk@.infosec.com.cn
# date 2016-8-16 15:16:36

function _ini_usage()
{
    echo "Usage: $0 get filename.ini section key
or
Usage: $0 set filename.ini section key value"
    return 1
}

function _ini_get()
{
    local file=$1
    local sec=$2
    local key=$3

    if [ $# != 3 ]
        then
        _ini_usage $@
        return $?
    fi

    awk -F "[=;#]+" '/^\[[ \t]*'$sec'[ \t]*\]/{a=1}a==1&&$1~/^[ \t]*'$key'[ \t]*/{gsub(/[ \t]+/,"",$2);print $2;exit}' $file
    return $?
}

function _ini_set()
{
    local file=$1
    local sec=$2
    local key=$3
    local val=$4

    if [ $# != 4 ]
        then
        _ini_usage $@
        return $?
    fi

    sed -i "/^\[[ \t]*$sec[ \t]*\]/,/^\[/s/^[ \t]*\($key[ \t]*=[ \t]*\)[^ \t;#]*/\1$val/" $file
    return $?
}

function ini()
{
    local CMD=${1:-help}
    shift
    case ${CMD} in
        help)
            _ini_usage $@
            ;;
        get)
            _ini_get $@
            ;;
        set)
            _ini_set $@
            ;;
        *)
            echo "unknown command"
            return 1
            ;;
    esac
    return $?
}

ini $@

  • 0
    点赞
  • 1
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
在Linux中,可以使用各种方法来读写INI配置文件。 首先,INI配置文件通常采用文本格式,可以使用文本编辑器(如vi、nano等)直接编辑配置文件。你可以通过打开终端,进入配置文件所在的目录,使用文本编辑器打开配置文件,进行修改和保存。 其次,Linux提供了一些命令行工具来处理INI配置文件,如sedawksed是流编辑器,可以用来处理和修改文本文件。通过使用sed命令,你可以根据需要修改INI配置文件中的特定键和值。类似地,awk也可用于处理INI配置文件,它是一种强大的文本处理工具,具有高级的文本处理功能。 此外,你还可以通过编写脚本来读写INI配置文件,如使用bash脚本、Python脚本等。通过读取配置文件,并解析其中的键值对,你可以在脚本中直接使用这些配置参数。在脚本中,你可以使用文本处理函数、正则表达式等工具来解析和修改INI配置文件。 最后,还有一些特定的库和工具可以用于读写INI配置文件,如Python中的configparser模块。这些库和工具提供了更高级的功能,可以方便地读取和修改INI配置文件,同时还可以进行验证、错误处理等操作。 总之,Linux提供了多种方法用于读写INI配置文件,从简单的文本编辑器到强大的命令行工具和编程语言,你可以根据自己的需求选择适合的工具来处理INI配置文件

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值