shell脚本解析
㈠ 标准的shell脚本应该包含什么
一个标准的shell脚本包括bin、conf、log三个文件夹。bin包含脚本的具体内容;conf包含脚本需要获取的配置;log包含脚本执行过程有无错误的log和跟业务相关的log。在计算机科学中,Shell俗称壳,是指“为使用者提供操作界面”的软件(命令解析器)。它用于接收用户命令,然后调用相应的应用程序。同时它又是一种程序设计语言。作为命令语言,它交互式解释和执行用户输入的命令或者自动地解释和执行预先设定好的一连串的命令;作为程序设计语言,它定义了各种变量和参数,并提供了许多在高级语言中才具有的控制结构,包括循环和分支。在排序算法中,Shell是希尔排序的名称。
㈡ shell脚本做文本解析同php和python比哪个效率更高
shell比较快,因为shell很多用的命令都是C写的。
题外话:
我也是做运维的,我说说我的看法,不喜勿喷
脚本这一块的话,我觉得顺序跟脚本要实现的功能、复杂度有关系。
一般来说我会根据要实现的功能来决定使用哪门语言,比如说:如果我的脚本只是简单的操作一下文件,创建一下目录,或者只是临时解决一些小问题或事件,那shell无论是开发效率和运行效率,都是其它语言没法比的。
稍微大点的场景会使用python:比如,一个系列的工具集,有各种跟运维有关的方法,而且还要持续性往里加功能的,那shell就没法弄了(维护成本非常高)。
其他语言我不考虑,因为我主要的都是centos,自带有python,其它语言还要另外装环境。。我懒 :D
㈢ shell脚本解析一个文件
#! /bin/sh
#save the setting of IFS
SAVEIFS=$IFS
#assign new separator to IFS
IFS="="
while read name value
do
eval `echo $name=$value`
done<a.txt
a=$aaa
b=$bbb
c=$ccc
IFS=$SAVEIFS
echo "a=$a;b=$b;c=$c"
㈣ shell脚本做文本解析同php和python比哪个效率更高
N年前为了每天分析数十GB的日志,正好做过测试。测试是在Linux环境下(Redhat ES
3),测试处理一个数百兆的日志文件进行汇总分析(邮件日志),分别用C, Perl,
Python,Shell做同样的处理。处理速度排名是C>>Perl>python>shell。C是最快的,比别的快上至少
一个数量级;其次是Perl,毕竟是为文本处理而生,最强的内置正则表达式;Python比Perl慢了点,记得速度是Perl的60%左右;shell
最慢,虽然sed, grep,awk都不慢(其实都是C写的),但通过shell组合在一起效率还是差了不少。
㈤ 如何利用Shell脚本解析XML文件(里面是从数据库导出的表结构)自动生成建表语句
你解析出这个xsd信息,然后拼创建表的sql就可以了
create table tradeInformation
( id int,
tradedate date,
tradeTime time)
㈥ 如何利用Shell脚本解析XML文件中标记之内的值
$cat test.sh
#!/bin/bash
if [ -z $1 ];then
echo 'USAGE:COMMAND FILENAME'
exit 0
fi
filename=record.txt
HOST=(`sed -n 's/.*>\(.*\)<\/host>/\1/p' $1`)
OIDG=(`sed -n 's/.*>\(.*\)<\/oidgroupname>/\1/p' $1`)
COMM=(`sed -n 's/.*>\(.*\)<\/communitystring>/\1/p' $1`)
DESC=(`sed -n 's/.*>\(.*\)<\/description>/\1/p' $1`)
FILE=(`ls -l $filename >/dev/null 2>&1 | awk '{print $8}'`)
if [ ! -z $FILE ];then
echo -e "host\t\toidgroupname\t\tcomm\t\tdesc" >$filename
fi
for((i=0;i<${#HOST[@]};i++));do
echo -e "${HOST[i]}\t${OIDG[i]}\t${COMM[i]}\t\t${DESC[i]}" >>$filename
done
$./test.sh file
$cat record.txt
host oidgroupname comm desc
192.168.1.1 CpuUtilization_MF public 192.168.1.1_CPUUtilizaton
192.168.1.2 CpuUtilization_MF public 192.168.1.2_CPUUtilizaton
192.168.1.3 CpuUtilization_MF public 192.168.1.3_CPUUtilizaton
192.168.1.4 CpuUtilization_MF public 192.168.1.4_CPUUtilizaton
192.168.1.5 CpuUtilization_MF public 192.168.1.5_CPUUtilizaton
㈦ shell脚本调用java返回的字符串含有shell变量如何解析
先运行java程序,然后用echo $?获取程序的运行结果,如果是字符串,可以使用
result=$(java -jar xxx.jar)来获取,当然这只是示例,$()中的命令使可以随便修改的
㈧ shell脚本解释
ls *.* | grep -i "flag.dat" 列出当前目录中文件名中含有点的文件并找含有flag.dat的文件,-i表示不区分大小写!当有一个文件的文件名为fmstarflag.dat时,执行$JOBDIR/bin/fmstarupd.sh这个脚本,并且删除
$LOADDIR/fmstarflag.dat,大体就这么个意思,要是还不懂的话,建议先学学shell的语法吧!
㈨ shell脚本如何获取文件内的字符串并解析
log=`grep HWaddr mylog.log`
hwaddr=`echo ${log##*HWaddr}`
num=`echo $hwaddr|grep -o :|wc -l `
判断自己写吧