又过了一个愉快而不值得回忆的一周,花了大半时间阅读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环境下,经常需要处理各种配置文件,其中.ini格式的配置文件非常常见。这类文件通常用于存储应用程序的设置信息,包括数据库连接、路径设置等。本文将深入探讨如何使用Unix shell与awk工具来编写一个脚本来...
`.bashrc`和`.bash_profile`是用户级别的配置文件,用于设置环境变量和别名。`/etc/profile`则用于全局的系统设置。 六、正则表达式 Shell支持正则表达式,用于模式匹配和文本处理。常见的正则表达式元字符如`.`、`...
- 文件权限用于管理文件的访问控制,确保只有授权用户能够读取、写入或执行文件。 - 权限分为三组:文件属主、同组用户和其他用户。 - 每组权限包括三个部分:读(r)、写(w)和执行(x)。 **知识点2:setuid** - set...
当用户登录Unix系统时,Shell会读取一些配置文件来设置环境,如`~/.bashrc`和`~/.bash_profile`。这些文件可以定义环境变量,比如PATH(指定可执行文件的搜索路径),以及别名(简化常用命令的输入)。 **内建命令*...
本文将深入探讨如何使用shell脚本来实现可配置化的文件夹中文件名称读取,这对于日常的文件管理和自动化任务至关重要。 首先,我们需要了解shell脚本的基本结构。一个简单的shell脚本通常以`#!/bin/bash`开头,这被...
例如,通过重定向技术,脚本可以将命令的输出保存到文件中,或从文件中读取输入;管道技术则允许多个命令串接起来,使它们能够顺序执行并处理数据流。 Shell编程中的流程控制也是本书的重点内容。读者将学会使用...
同时,学习`.bashrc`和`.bash_profile`等配置文件,定制Shell启动时的环境。 10. **Shell扩展和工具**:Unix提供了许多强大的工具,如awk、sed、grep、find、cut、sort等,它们可以与Shell结合,实现复杂的文本处理...
7. **Shell程序设计**:学习如何利用Shell编写更高级的程序,如命令行参数解析、配置文件读取、进程控制等。 8. **Shell扩展和插件**:了解Bash和其他Shell提供的扩展功能,如别名、函数库、提示符定制等,以提升...
脚本可以通过读取配置文件中的用户名和密码,然后使用Oracle提供的命令行工具(如sqlplus)来执行更新操作。 - **嵌入式SQL**:Korn Shell支持在脚本中直接使用SQL命令。这种方法允许脚本直接与Oracle数据库交互,...
在 `tcsh` Shell中,有几种启动文件可以在每次Shell启动时自动执行一些配置或初始化任务: 1. **`.tcshrc`:** 这个文件在每次启动 `tcsh` 时都会被读取,常用来定义环境变量、别名等。 2. **`.login`:** 当启动一...
它从配置文件`backup.defaults`中读取备份相关的参数设置,如备份介质、备份类型、邮件通知选项等。这样的设计允许备份操作适应不同的备份需求和环境,提高了脚本的通用性和灵活性。在运行时,脚本还允许用户根据...
10. **环境变量与配置文件** - 环境变量影响Shell的行为,如`PATH`定义搜索可执行文件的路径。 - `.bashrc`和`.bash_profile`是用户的Shell初始化文件,用于设置环境变量和别名。 11. **脚本调试与优化** - `-x`...
总的来说,这一章深入讲解了Linux和Unix系统中用户登录环境的构造和管理,包括系统级和用户级的配置文件,以及如何通过这些文件来定制和控制用户的交互环境。理解和掌握这些内容对于进行系统管理和编写shell脚本至关...
2. 文件权限与用户身份:在Linux/UNIX系统中,文件权限决定了谁能够读取、写入或执行文件。这通常涉及到三个身份:文件所有者(user)、所属组(group)和其他用户(others)。每个身份都有一套权限设置,如读(r)...
Linux和Unix Shell的核心功能包括文件管理、进程控制、环境变量设置和管道(pipe)机制。文件管理涉及到创建、删除、移动和重命名文件或目录;进程控制则允许用户启动、停止、挂起和恢复进程;环境变量可以用来设置...
3. **输入/输出重定向**:Shell允许将命令的输出重定向到文件或设备,或者从文件读取输入。学会使用`>`、`、`>>`、`|`等符号是处理数据流的关键。 4. **管道(Pipeline)**:通过管道,可以将一个命令的输出作为另...
此外,每个用户的主目录下还可能有个人化的配置文件,如.profile、.bashrc等,这些文件会在每次登录或打开新的Shell会话时被读取和执行,以定制化用户的工作环境。 #### 三、Shell执行原理与后台任务管理 在UNIX中...