shell脚本获取文件中key/value的小方法

方法有N种,awk、sad、grep、cut。。。

以上几种方式不写了,就写两个不太常用到的。

废话少说,直接上代码:

cat a.txt 

aa.gif=aaaa.gif
bb.gif=bbbb.gif
cc.gif=cccc.gif

方法一:

#!/bin/sh

while read line
  do
    k=${line%=*}
    v=${line#*=}

    echo "$k :  $v"

done  < a.txt

运行结果:

aa.gif :   aaaa.gif
bb.gif :   bbbb.gif
cc.gif :   cccc.gif

方法二:

#!/bin/sh

IFS=‘=‘

while read k v
  do
      echo "$k  :  $v"
done < a.txt

运行结果:

aa.gif  :  aaaa.gif
bb.gif  :  bbbb.gif
cc.gif  :  cccc.gif

时间: 2024-12-26 11:05:54

shell脚本获取文件中key/value的小方法的相关文章

利用shell脚本统计文件中出现次数最多的IP

比如有如下文件test.txt 1  134.102.173.43 2  134.102.173.43 3  134.102.171.42 4  134.102.170.9 要统计出现次数最多的IP可以利用以下shell脚本: cat test.txt | awk '{print $2}' | sort | uniq -c | sort -n -r | head -n 1 [原创]统计IP次数最多的 一条还是很常见,很实用,很简单的命令 netstat -ntu Active Internet

使用shell脚本往文件中加一列

上午大学同学问了我一个脚本的问题,大概需求就是看到所有端口的开启情况,还要知道每个端口的应用程序路径,而且要和之前的数据齐平,就是再加一列数据.我腚眼一看,非常容易嘛,但由于当时忙,所以就说中午给他发过去,但到自己写的时候,各种问题啊,awk的用法找了又找,不得不说awk非常伟大,脚本如下: show_path.sh #!/bin/bash pid=`netstat -lntup |awk '{if (NR>2){print $7}}'|awk -F '/' '{print $1}'` for

shell脚本,文件里面的英文大小写替换方法。

[[email protected] wyb]# cat daxiaoxie qweBNMacb eeeDFSmkl svdIOPtyu [[email protected] wyb]# cat daxiaoxie |tr [a-zA-Z] [A-Za-z] QWEbnmACB EEEdfsMKL SVDiopTYU [[email protected] wyb]#

linux shell 脚本获取和替换文件中特定内容

1.从一串字符串中获取特定的信息 要求1:获取本机IP:menu.lst为系统镜象的IP配置文件,需要从中获取到本机IP信息(从文件获取信息) 1 timeout 1 2 default 0 3 4 title live 5 find --set-root /casper/vmlinuz 6 kernel /casper/vmlinuz boot=casper ignore_uuid showmounts ip=eth0,10.0.66.66,255.255.240.0,10.0.64.3 7

shell脚本—根据文件个数定时备份

最近在了解Jenkins时,出现这样一个问题:linux ext3系统目录下的子目录个数不能超过31998个(参考:http://www.xshell.net/linux/1267.html),但jenkins在不停的编译版本时,有时候几个小时就创建了30000多个日志文件夹的目录,从而要随时的清理此文件夹下的目录.于是就写了个脚本来实现自动备份功能.由于很久没有接触过shell,所以花了一天来实现,比较汗颜!主要是对shell的格式,语法之类的不是很了解,在网上找了些资料,边写边调试!废话不多

对于shell脚本获取参数的一些小技巧

问题如下: 根据脚本参数的个数$#进行一个循环,在依次输出每个参数$1 $2 $3...... 我有一个循环变量i $i  取到这时的i为1,我想使用这个1再去调用$1,也是就是打印出第一个参数 就是$($i)的意思来取到第几个参数,当然$($i)是不好用的 当时纠结了好久,最后上百度提问,两位高手给出了答案: 1) #!/bin/sh NUMBER=$# echo $NUMBER i=1 while [ $i -le $NUMBER ] do a[$i]=$1 #将数组a[i]赋值为$1,即取

使用shell脚本清空文件

使用shell脚本清空文件 在最近的项目中,会生成很多日志文件,所以需要写一个脚本来手动清空它们,下面提供几种典型方法. 方法1 代码 #!/bin/bash ##方法1 echo "" > $1 echo "$1 cleaned up." 运行截图 说明 我想大家应该注意到了文件其实并没有真正被清空,而是有一个空行. 方法2 代码 #!/bin/bash ##方法2 : > $1 echo "$1 cleaned up." 运行截图

(转)shell脚本之文件测试操作符及整数比较符

shell脚本之文件测试操作符及整数比较符 原文:http://www.cnblogs.com/Steward-Xu/p/6722592.html 一.文件测试操作符: 在书写测试表达式是,可以使用一下的文件测试操作符. 更多的参数可以help test或者man bash 二.字符串测试操作符: 字符串测试操作符的作用:比较两个字符串是否相同.字符长度是否为0,字符串是否为null(注:bash区分长度字符串和空字符串) "="比较两个字符串是否相同,与"=="等

shell脚本修改json中某个字段的值

shell脚本修改json中某个字段的值 思路:通过awk来找到旧数据,然后用sed来替换旧数据 源码 config.json { "name": "the_name", "id": "132869", "content_url": "https://hot.example.com/", "enable_feature1": "true", &qu