突然有需求需要一个脚本,同时获取到每一行数据的两个值,下面做了一个例子模板,仅供记录参考

cat test.txt 
id=1,name=zclinux1
id=2,name=zclinux2
id=3,name=zclinux3
id=4,name=zclinux4
id=5,name=zclinux5
id=6,name=zclinux6
id=7,name=zclinux7
id=8,name=zclinux8
id=9,name=zclinux9
id=10,name=zclinux10
id=11,name=zclinux11
id=12,name=zclinux12
id=13,name=zclinux13
id=14,name=zclinux14
id=15,name=zclinux15
id=16,name=zclinux16
id=17,name=zclinux17
id=18,name=zclinux18
id=19,name=zclinux19
id=20,name=zclinux20

cat test.sh 
#!/bin/bash
filename=~/test.txt
id=`grep id $filename | awk -F',' '{print $1}'| awk -F'=' '{print $2}'` for i in $id;
do
        f1=`sed -n "${i}p" $filename | awk -F',' '{print $1}'| awk -F'=' '{print $2}'`
        f2=`sed -n "${i}p" $filename | awk -F',' '{print $2}'| awk -F'=' '{print $2}'`
        echo "id = $f1 ,Name = $f2"
done

执行结果:
sh test.sh 
id = 1 ,Name = zclinux1
id = 2 ,Name = zclinux2
id = 3 ,Name = zclinux3
id = 4 ,Name = zclinux4
id = 5 ,Name = zclinux5
id = 6 ,Name = zclinux6
id = 7 ,Name = zclinux7
id = 8 ,Name = zclinux8
id = 9 ,Name = zclinux9
id = 10 ,Name = zclinux10
id = 11 ,Name = zclinux11
id = 12 ,Name = zclinux12
id = 13 ,Name = zclinux13
id = 14 ,Name = zclinux14
id = 15 ,Name = zclinux15
id = 16 ,Name = zclinux16
id = 17 ,Name = zclinux17
id = 18 ,Name = zclinux18
id = 19 ,Name = zclinux19
id = 20 ,Name = zclinux20

将同一行中的id和Name分别都提取出来

【Shell】使用awk sed获取一行内容的两个值的更多相关文章

  1. shell读取文件的每一行内容并输出【转】

    写法一: #!/bin/bash while read line do echo $line done < file(待读取的文件) 写法二: #!/bin/bash cat file(待读取的 ...

  2. linux shell中如何批量添加一行内容到某些文件的末尾?

    答:先使用find找出要指定的某些文件,然后使用xargs和sed工具将内容插入到这些文件的末尾 find . -name 'filename*' | xargs sed -i '$a\added-c ...

  3. linux shell grep/awk/sed 匹配tab

    处理文件的命令实在是多, sed, awk, grep等.遇到了需要匹配tab的情况, 记录一下. 例子如下:找出文本中第一列是1的行. 文本a 解法1 : 直接使用正则表达式, ^表示开头, \t表 ...

  4. (转)shell:读取文件的每一行内容并输出

    写法一:----------------------------------------------------------------------------#!/bin/bashwhile rea ...

  5. shell 读取文件的每一行内容并输出

    (1)#!/bin/bash while read linedo    echo $linedone < file (2)#!/bin/bash cat file  | while read l ...

  6. [转]shell awk sed tr grep 语法汇总

    tr 基本语法 -c          # 用字符串1中字符集的补集替换此字符集,要求字符集为ASCII  -d          # 删除字符串1中所有输入字符  -s          # 删除所 ...

  7. shell下的 awk/sed/grep/seq/tr

    转自:实例手册 https://github.com/liquanzhou/ops_doc/blob/master/shell%E5%AE%9E%E4%BE%8B%E6%89%8B%E5%86%8C. ...

  8. shell脚本 5 sed和awk

    文本处理三剑客 在 Shell 下使用这些正则表达式处理文本最多的命令有下面几个工具: 命令 描述 grep 默认不支持扩展表达式,加-E 选项开启 ERE.如果不加-E 使用花括号要加转义符\{\} ...

  9. shell编程系列10--文本处理三剑客之sed利用sed查询特定内容

    shell编程系列10--文本处理三剑客之sed利用sed查询特定内容 利用sed查找文件内容: pattern种类: .8p .,10p .,+5p ./regexp/p .,/regexp/p . ...

随机推荐

  1. 求求你,别再用wait和notify了!

    Condition 是 JDK 1.5 中提供的用来替代 wait 和 notify 的线程通讯方法,那么一定会有人问:为什么不能用 wait 和 notify 了? 哥们我用的好好的.老弟别着急,听 ...

  2. django DRF理解

    django restframework(DRF) 最近的开发过程当中,发现restframework的功能很强大,所以尝试解读了一下源码,写篇博客分享给大家,有错误的地方还请各位多多指出 视图部分 ...

  3. vue 事件基本用法

    事件基本用法 事件的函数都定义在VUE实例中的methods中,当然也可以直接写在元素内,但是这并不利于后期的维护,需要注意的是:在methods定义的函数内想要引用插值内容,需要使用this,不然就 ...

  4. Spark性能调优篇三之广播方式传输数据

    广播大变量,重复用到的变量 原因见 https://www.jianshu.com/p/2c297b23ebda

  5. 初学者迭代python

    #汉诺塔 def hanni(n,A,B,C): if n == 1: print (A,'-->',C) else: # 将n-1个盘子移动到B上 hanni(n-1,A,C,B) # 将第n ...

  6. python常见的内置模块

    python的内置模块: os os.path sys time datetime hashlib base64 hmac random math 一.os模块: os模块是与操作系统交互的一个接口 ...

  7. asp.net webapi关闭https配置

    将s去掉就行

  8. 10天,从.Net转Java,并找到月薪2W的工作(二)

    辞去.Net工作之后,第一天直接去星巴克学习. 研究如何入门Java,对比学习资料以及安装Ieda. 由于正版太贵,Mac又不容易破解.鼓捣半天,最后结果是,我决定用教育账号申请一年的免费IDEA. ...

  9. Ajax 详解及CORS

    Ajax 是什么? Ajax 即"Asynchronous Javascript And XML"(异步 JavaScript 和 XML)是指一种创建交互式网页应用的网页开发技术 ...

  10. hashmap有一个loadFactory为什么是0.75从泊松分布解析看看

    简述: 写这篇文章是看到网上的一篇面试题,有面试官问hashmap有一个loadFactory为什么是0.75  我先解释一下 0.75上下文,当一个hashmap初始数组大小暂时不考虑扩容情况,初始 ...