`

unix shell 读取配置文件

阅读更多

     又过了一个愉快而不值得回忆的一周,花了大半时间阅读MDB内存数据库的源代码,收获甚微;唯一的安慰是对unix下的shell编程稍有心得。
     需要把几十个配置文件的内容倒入数据库,简化的 xfer.HU.A3.cfg 配置文件格式:
[Common]
ClassName = xfer
InstanceName = hua3
LocalHost = 127.0.0.1
Host = 10.70.1.1
#Host = 127.0.0.1
TaskNum =
CheckSize=T
StatDir=/data01/work/xfer/stat
rename_spec=;N_GSM_HU_AL3;N_GSM_HU_AL4;
 
数据库中
xfer.HU.A3.cfg   AL   GSM    xfer   10.70.1.1       (null)    YES  N_GSM_HU_AL3;
 
注意点:AL、GSM 需要从字段中截取,其中'A'要转化成'AL',TaskNum没有值,'='左右可能有或没有空格,'#'是注释,'T' 需要转化成YES,rename_spec有多种可能,选第一个。
 
解决办法:
一个一个字段剪切到数据库中。
编写一个程序读取配置文件。
编写shell程序读取。
 
我选用了unix shell程序,顺便学习一下
 
echo $1|awk '{printf "%s\t",$1}'
 
case `echo $1 |awk -F. '{print substr($3,1,1)}'` in
A|a) echo 'AL'|awk '{printf "%s\t",$1}';;
H|h) echo 'HW'|awk '{printf "%s\t",$1}';;
N|n) echo 'NK'|awk '{printf "%s\t",$1}';;
S|s) echo 'SI'|awk '{printf "%s\t",$1}';;
*) echo 'Unkown'|awk '{printf "%s\t",$1}';;
esac
grep rename_spec $1|grep -v '#rename_spec'|awk -F= '{print $2}'|awk '{print $1}'|awk -F_ '{printf "%s\t", $2}'
grep Host $1|grep -v '#Host'|grep -v 'LocalHost'|grep -v '127'|awk -F= '{print $2}'|awk '{printf"%s\t", $1}'
 
grep TaskNum $1|grep -v '#TaskNum'|awk -F= '{print $2}'|awk '{printf "%s\t", $1}'
 
s=`grep CheckSize$1|grep -v '#CheckSize'|awk -F= '{print $2}'|awk '{print $1}'`
if test $s = F
then
   echo 'NO'|awk '{printf "%s\t",$1}'
else
   echo 'YES'|awk '{printf "%s\t",$1}'
fi
grep rename_spec $1|grep -v '#rename_spec'|awk -F= '{print $2}'|awk -F';' '{printf "%s;\t", $2}'

分享到:
评论

相关推荐

    unix shell awk 修改ini文件的脚本

    在Unix环境下,经常需要处理各种配置文件,其中.ini格式的配置文件非常常见。这类文件通常用于存储应用程序的设置信息,包括数据库连接、路径设置等。本文将深入探讨如何使用Unix shell与awk工具来编写一个脚本来...

    《LINUX与UNIX SHELL编程指南》读书笔记-二次发布版

    `.bashrc`和`.bash_profile`是用户级别的配置文件,用于设置环境变量和别名。`/etc/profile`则用于全局的系统设置。 六、正则表达式 Shell支持正则表达式,用于模式匹配和文本处理。常见的正则表达式元字符如`.`、`...

    Linux与Unix shell编程指南(完整高清版)

    - 文件权限用于管理文件的访问控制,确保只有授权用户能够读取、写入或执行文件。 - 权限分为三组:文件属主、同组用户和其他用户。 - 每组权限包括三个部分:读(r)、写(w)和执行(x)。 **知识点2:setuid** - set...

    unix及shell基础

    当用户登录Unix系统时,Shell会读取一些配置文件来设置环境,如`~/.bashrc`和`~/.bash_profile`。这些文件可以定义环境变量,比如PATH(指定可执行文件的搜索路径),以及别名(简化常用命令的输入)。 **内建命令*...

    shell脚本可配置化读取文件夹中文件名称.rar

    本文将深入探讨如何使用shell脚本来实现可配置化的文件夹中文件名称读取,这对于日常的文件管理和自动化任务至关重要。 首先,我们需要了解shell脚本的基本结构。一个简单的shell脚本通常以`#!/bin/bash`开头,这被...

    LINUX与UNIX SHELL编程指南(高清中文版)

    例如,通过重定向技术,脚本可以将命令的输出保存到文件中,或从文件中读取输入;管道技术则允许多个命令串接起来,使它们能够顺序执行并处理数据流。 Shell编程中的流程控制也是本书的重点内容。读者将学会使用...

    Unix+shell+实例精解 学习笔记

    同时,学习`.bashrc`和`.bash_profile`等配置文件,定制Shell启动时的环境。 10. **Shell扩展和工具**:Unix提供了许多强大的工具,如awk、sed、grep、find、cut、sort等,它们可以与Shell结合,实现复杂的文本处理...

    UnixShell编程第三版

    7. **Shell程序设计**:学习如何利用Shell编写更高级的程序,如命令行参数解析、配置文件读取、进程控制等。 8. **Shell扩展和插件**:了解Bash和其他Shell提供的扩展功能,如别名、函数库、提示符定制等,以提升...

    Unix Oracle Shell Scripting

    脚本可以通过读取配置文件中的用户名和密码,然后使用Oracle提供的命令行工具(如sqlplus)来执行更新操作。 - **嵌入式SQL**:Korn Shell支持在脚本中直接使用SQL命令。这种方法允许脚本直接与Oracle数据库交互,...

    UNIX的Shell命令使用详解

    在 `tcsh` Shell中,有几种启动文件可以在每次Shell启动时自动执行一些配置或初始化任务: 1. **`.tcshrc`:** 这个文件在每次启动 `tcsh` 时都会被读取,常用来定义环境变量、别名等。 2. **`.login`:** 当启动一...

    LINUX与UNIX SHELL编程指南LINUX与UNIX SHELL编程指南27

    它从配置文件`backup.defaults`中读取备份相关的参数设置,如备份介质、备份类型、邮件通知选项等。这样的设计允许备份操作适应不同的备份需求和环境,提高了脚本的通用性和灵活性。在运行时,脚本还允许用户根据...

    LINUX_and_UNIX_SHELL_program

    10. **环境变量与配置文件** - 环境变量影响Shell的行为,如`PATH`定义搜索可执行文件的路径。 - `.bashrc`和`.bash_profile`是用户的Shell初始化文件,用于设置环境变量和别名。 11. **脚本调试与优化** - `-x`...

    LINUX与UNIX SHELL编程指南LINUX与UNIX SHELL编程指南13

    总的来说,这一章深入讲解了Linux和Unix系统中用户登录环境的构造和管理,包括系统级和用户级的配置文件,以及如何通过这些文件来定制和控制用户的交互环境。理解和掌握这些内容对于进行系统管理和编写shell脚本至关...

    LINUX与UNIX SHELL编程指南

    2. 文件权限与用户身份:在Linux/UNIX系统中,文件权限决定了谁能够读取、写入或执行文件。这通常涉及到三个身份:文件所有者(user)、所属组(group)和其他用户(others)。每个身份都有一套权限设置,如读(r)...

    LINUX and UNIX Shell(2)

    Linux和Unix Shell的核心功能包括文件管理、进程控制、环境变量设置和管道(pipe)机制。文件管理涉及到创建、删除、移动和重命名文件或目录;进程控制则允许用户启动、停止、挂起和恢复进程;环境变量可以用来设置...

    Unix Shell编程(第三版)

    3. **输入/输出重定向**:Shell允许将命令的输出重定向到文件或设备,或者从文件读取输入。学会使用`>`、`、`>>`、`|`等符号是处理数据流的关键。 4. **管道(Pipeline)**:通过管道,可以将一个命令的输出作为另...

    UNIX Shell编程(上中下)

    此外,每个用户的主目录下还可能有个人化的配置文件,如.profile、.bashrc等,这些文件会在每次登录或打开新的Shell会话时被读取和执行,以定制化用户的工作环境。 #### 三、Shell执行原理与后台任务管理 在UNIX中...

Global site tag (gtag.js) - Google Analytics