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

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. 【面试专栏】Java并发编程:volatile关键字

    1.  内存模型 若一个变量在多线程环境下同时操作,则可能出现结果不一致的情况.这就是常说的缓存不一致性问题. 解决缓存不一致问题,通常有两个解决方案: 通过在总线加LOCK#锁的方式 因为CPU和其 ...

  2. 树莓派RPi.GPIO+Flask构建WebApi实现远程控制

    #!/usr/bin/env python3 # -*- coding: utf-8 -*- import RPi.GPIO as GPIO from flask import Flask, requ ...

  3. matplotlib的学习15-次坐标轴

    import matplotlib.pyplot as plt import numpy as np x = np.arange(0, 10, 0.1) y1 = 0.05 * x**2 y2 = - ...

  4. Liunx运维(五)-信息显示与搜索文件命令

    文档目录: 一.uname:显示系统信息 二.hostname:显示或设置系统的主机名 三.dmesg:系统启动异常诊断 四.stat:显示文件或文件系统状态 五.du:统计磁盘空间使用情况 六.da ...

  5. 彻底理解Hive中的锁

    前面遇到过一次因为Hive中表被锁住了,导致定时任务一直失败.这两天又出现了表被锁,原因是连接hiveserver2过于频繁,mysql连接被打满,引发的连锁反应,导致我们的小时任务一直失败,下午重点 ...

  6. Python科学计算库Numpy

    Python科学计算库Numpy NumPy(Numerical Python) 是 Python 语言的一个扩展程序库,支持大量的维度数组与矩阵运算,此外也针对数组运算提供大量的数学函数库. 1.简 ...

  7. Python常用配置文件ini、json、yaml读写总结

    开发项目时,为了维护一些经常需要变更的数据,比如数据库的连接信息.请求的url.测试数据等,需要将这些数据写入配置文件,将数据和代码分离,只需要修改配置文件的参数,就可以快速完成环境的切换或者测试数据 ...

  8. Python——元组的基本语法(创建、访问、修改、删除)

    Python 元组的使用 Python 的元组与列表类似,不同之处在于元组的元素不能修改. 元组使用小括号 ( ),列表使用方括号 [ ]. 元组创建很简单,只需要在括号中添加元素,并使用逗号隔开即可 ...

  9. 关于 Softmax 回归的反向传播求导数过程

    对于 \(Softmax\) 回归的正向传播非常简单,就是对于一个输入 \(X\) 对每一个输入标量 \(x_i\) 进行加权求和得到 \(Z\) 然后对其做概率归一化. Softmax 示意图 下面 ...

  10. 安装git之后,桌面出现蓝色问号的解决方法

    安装了git之后,桌面的图标全部变成蓝色的问号. 把隐藏的文件全部显示,也没有在桌面找到.git的文件, 解决步骤: 1.把隐藏的文件全部显示: 工具-文件夹选项-查看在"隐藏文件和文件夹& ...