【Shell】使用awk sed获取一行内容的两个值
突然有需求需要一个脚本,同时获取到每一行数据的两个值,下面做了一个例子模板,仅供记录参考
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获取一行内容的两个值的更多相关文章
- shell读取文件的每一行内容并输出【转】
写法一: #!/bin/bash while read line do echo $line done < file(待读取的文件) 写法二: #!/bin/bash cat file(待读取的 ...
- linux shell中如何批量添加一行内容到某些文件的末尾?
答:先使用find找出要指定的某些文件,然后使用xargs和sed工具将内容插入到这些文件的末尾 find . -name 'filename*' | xargs sed -i '$a\added-c ...
- linux shell grep/awk/sed 匹配tab
处理文件的命令实在是多, sed, awk, grep等.遇到了需要匹配tab的情况, 记录一下. 例子如下:找出文本中第一列是1的行. 文本a 解法1 : 直接使用正则表达式, ^表示开头, \t表 ...
- (转)shell:读取文件的每一行内容并输出
写法一:----------------------------------------------------------------------------#!/bin/bashwhile rea ...
- shell 读取文件的每一行内容并输出
(1)#!/bin/bash while read linedo echo $linedone < file (2)#!/bin/bash cat file | while read l ...
- [转]shell awk sed tr grep 语法汇总
tr 基本语法 -c # 用字符串1中字符集的补集替换此字符集,要求字符集为ASCII -d # 删除字符串1中所有输入字符 -s # 删除所 ...
- 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. ...
- shell脚本 5 sed和awk
文本处理三剑客 在 Shell 下使用这些正则表达式处理文本最多的命令有下面几个工具: 命令 描述 grep 默认不支持扩展表达式,加-E 选项开启 ERE.如果不加-E 使用花括号要加转义符\{\} ...
- shell编程系列10--文本处理三剑客之sed利用sed查询特定内容
shell编程系列10--文本处理三剑客之sed利用sed查询特定内容 利用sed查找文件内容: pattern种类: .8p .,10p .,+5p ./regexp/p .,/regexp/p . ...
随机推荐
- 关于 SFML 在 Visual Studio下的环境搭建
SFML 全称 Simple and Fast Multimedia Library,它是一个开放源代码,跨平台,支持多种编程语言绑定,并且提供简单易用的接口,用于多媒体程序和游戏开发,是替代SDL的 ...
- Linux shell 获取目录下时间最新的文件的文件名
ls -lt /dirname/ | grep filename | head -n 1 |awk '{print $9}' 逐条解释: ls -lt /dirname/ 列出此目录下的所有文件并按照 ...
- EasyExcel导入
记录摸鱼的一天 技术栈:spring boot2.x+mybatis plus+easyExcel 2.2.6 生成简单的实体类等等等等 导入easyExcel的依赖 实体类 编写服务层 import ...
- Unity射击实例讲解—主角创建
前言: 经过三分钟的思考决定换个标题,这两天其实游戏制作进度推了大半了,加入了许多自我创作的素材,不过想一想用来讲解的实例不该这么花哨,决定还是参照我的一些教材做一些简单的示例不然要说的东西太多,本人 ...
- Java NIO:FileChannel数据传输
调用方式 FileChannel dstChannel; FileChannel srcChannel; dstChannel.transferFrom(srcChannel,0,srcChannel ...
- pip install leveldb 编译错误解决
centos7,python3.3 # pip-python3 install leveldb 错误: /usr/include/python3.3m/dynamic_annotations.h:47 ...
- [BUUCTF] MISC-九连环
0x01 知识点 伪加密 steghide提取信息 0x02 伪加密的判断 首先,在winhex分析,发现有4个zip文件的文件头和2个文件尾,有完整文件头尾那么可以直接修改后缀为zip解压, 查看一 ...
- [BUUOJ]刮开有奖reverse
刮开有奖 这是一个赌博程序,快去赚钱吧!!!!!!!!!!!!!!!!!!!!!!!!!!!(在编辑框中的输入值,即为flag,提交即可) 注意:得到的 flag 请包上 flag{} 提交 1.查壳 ...
- Python循环语句代码详解:while、for、break
1 while循环 循环语句是程序设计中常用的语句之一.任何编程语言都有while循环,Python也不例外.while循环的格式如下所示. while(表达式): - else: ...
- 如何在Python中处理不平衡数据
Index1.到底什么是不平衡数据2.处理不平衡数据的理论方法3.Python里有什么包可以处理不平衡样本4.Python中具体如何处理失衡样本印象中很久之前有位朋友说要我写一篇如何处理不平衡数据的文 ...