line="/vision/system.properties.{IP}=192.168.12.123"
eval `echo $line|awk -F '.{' '{print "path="$1}'`
echo $path
#以上命令实现 解析字符串line,提取"/vision/system.properties" 并赋值给变量path
eval `echo $line|awk -F '.{' '{print "key_and_value="$2}'
eval `echo $key|awk -F '}=' '{print "key="$1}'
echo $key
#上面两条命令实现 提取字符串line中的"IP"并赋值给key
例如template.txt文件中的内容有:
/vision/system.properties.{IP}=192.168.12.123
/vision/system.properties.{PORT}=8083
......
shell 脚本如下
while read line
do
eval `echo $line|awk -F '.{' '{print "vt_path="$1}'`
eval `echo $line|awk -F '.{' '{print "vt_key_and_value="$2}'`
eval `echo $vt_key_and_value|awk -F '}' '{print "vt_key={"$1"}"}'`
eval `echo $line|awk -F '}=' '{print "vt_value="$2}'`
if [ -n $vt_path ] && [ -n $vt_key ] &&[ "{}" != $vt_key ] && [ -n $vt_value ]; then
sed -i -e s/$vt_key/$vt_value/g $vt_path
fi
:
done < template.txt
#假如
变量
var的值为:num=12,也即var="num=12",现在想把 12
赋值
给
变量
id
# awk 的-F 后跟上要
分割
字符串
时的指定分隔符
# awk
中
$0是要
分割
的
字符串
,$1是
分割
后的第一部分,以此类推
id=`echo $var | awk -F "=" '{print $2}'`
Linux
Shell
脚本
字符串
拼接与
赋值
总结
字符串
拼接
最近在工作用到shell
脚本
,用到了
字符串
变量
的拼接,同时需要对
字符串
进行
赋值
,这里与大家分享一下,
字符串
拼接
shell
脚本
里面可以对
字符串
进行拼接,并且可以将拼接后的值赋予给另外一个
变量
,下图给出了几种
字符串
拼接的样例,供大家参考。
#!/bin/bash
a="123" # 定义a
变量
为"123"
b="456" # 定义b
变量
为"456"
first=$a$b # 第一种方式来拼接字符
Shell
中
字符串
与数组操作实例前言本篇主要介绍了介绍在Shell
脚本
中
对于
字符串
的处理,数据
变量
的定义与使用。
字符串
截取及切割子串截取的三种用法:${var:起始位置:长度}expr substr "$var" 起始位置 长度echo $var | cut -b 起始位置-结束位置
字符串
的截取,只是单纯将
字符串
截取出来,对原来的
变量
并不会进行修改。${var:起始位置:长度}SCHOOL="Th...
原文https://blog.csdn.net/wuyinggui10000/article/details/52779364
脚本
开发
中
遇到的问题是:原java
中
的
字符串
分割
操作(substring indexOf等)不知道怎么处理(比如/a/b/c/d.txt我想知道文件的名称)查询相关资料得知,shell
中
可以采用标识符来做
分割
字符串
,包括substring(0,index)和substrin...
1.用户定义的
变量
用户定义的
变量
有字母数字及下划线组成,并且
变量
名的第一个字符不能为数字.与其它UNIX名字一样,
变量
名是大小写敏感的.对于
变量
,用户可按如下方式
赋值
:name = value在引用
变量
时,需在前面加$符号,用户也可以在
变量
间进行相互
赋值
,如:(前面的$是命令提示符)$ JOHN = john$ NAME = $JOHN$ echo Hello $NAMEHello john也可以...
在实际开发的过程
中
,文件读写也很重要,下面说一下python如何逐行
读取文件
。如果程序要读取行,通常只能用文本方式来读取,道理很简单,只有文本文件才有行的概念,二进制文件没有所谓行的概念。文件对象提供了如下两个方法来读取行:readline([n]):读取
一行
内容。如果指定了参数 n,则只读取此行内的 n 个字符。readlines():
读取文件
内所有行。下面程序示范了使用 readline() ...
linux
常用于
读取文件
内容指令主要有以下七种:
cat,tac,nl,more,less,head,tailcat 文件名 –将文件内容显示在屏幕上
cat -n 文件名 –将文件内容显示在屏幕上,并显示行号
cat -b 文件名 –将文件内容显示在屏幕上,并显示行号,但是不显示空白行行号tac则是和cat反过来的(名字都是反过来的)
tac 文件名 –将文件内容显示在屏幕上,但是
mkdir -p /data/www/flowbilling/`echo ${arr[0]%/*}|sed 's/\/home\/www\/flowbilling-report\/TuikuanIamges\///g'`
将 arr数组下标为0的数删除掉最后一个“/”之后的所有值
删除掉
字符串
中
的url路径 注意转义符
我们在shell
脚本
编程
中
,经常需要用到
字符串
切割,即将
字符串
切割为一个数组,类似java
中
的split 函数,下面对几种常见的方式做一个总结。目录方法一: 利用shell
中
变量
的
字符串
替换 方法二: 设置分隔符,通过 IFS
变量
方法三: 利用tr 指令实现字符替换 (!只能针对单个分隔符)方法一: 利用shell
中
变量
的
字符串
替换原理:${parameter//patte...
Shell命令替换是指将命令的输出结果作为值赋给某个
变量
。比如,在某个目录
中
输入ls命令可查看当前目录
中
所有的文件,但如何将输出内容存入某个
变量
中
呢?这就需要使用命令替换了,这也是Shell编程
中
使用非常频繁的功能。Shell
中
有两种方式可以完成命令替换,一种是反引号``,一种是$(),使用方法如下:var_name=`command`var_name=$(command)其
中
,var_name是...