突然有需求需要一个脚本,同时获取到每一行数据的两个值,下面做了一个例子模板,仅供记录参考 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…
写法一: #!/bin/bash while read line do echo $line done < file(待读取的文件) 写法二: #!/bin/bash cat file(待读取的文件) | while read line do echo $line done 写法三: for line in `cat file(待读取的文件)` do echo $line done 说明:for逐行读和while逐行读是有区别的,如: $ cat file aaaa bbbb cccc dddd…
答:先使用find找出要指定的某些文件,然后使用xargs和sed工具将内容插入到这些文件的末尾 find . -name 'filename*' | xargs sed -i '$a\added-content'…
处理文件的命令实在是多, sed, awk, grep等.遇到了需要匹配tab的情况, 记录一下. 例子如下:找出文本中第一列是1的行. 文本a 解法1 : 直接使用正则表达式, ^表示开头, \t表示tab grep -P "^1\t" a 解法2 : awk循环行,并判断 awk '{if($1 == 1) print $0}' a 解法3: sed 中使用正则,-n 只打印匹配行 sed -n '/^1\t/p' a…
写法一:----------------------------------------------------------------------------#!/bin/bashwhile read linedo    echo $linedone < file(待读取的文件)----------------------------------------------------------------------------写法二:-----------------------------…
(1)#!/bin/bash while read linedo    echo $linedone < file (2)#!/bin/bash cat file  | while read linedo    echo $linedone (3)for line in `cat file`do    echo $linedone…
tr 基本语法 -c          # 用字符串1中字符集的补集替换此字符集,要求字符集为ASCII  -d          # 删除字符串1中所有输入字符  -s          # 删除所有重复出现字符序列,只保留第一个:即将重复出现字符串压缩为一个字符串  [a-z]       # a-z内的字符组成的字符串  [A-Z]       # A-Z内的字符组成的字符串  [0-9]       # 数字串  \octal      # 一个三位的八进制数,对应有效的ASCII字符 …
转自:实例手册 https://github.com/liquanzhou/ops_doc/blob/master/shell%E5%AE%9E%E4%BE%8B%E6%89%8B%E5%86%8C.sh#L2925awk{ # 默认是执行打印全部 print $0 # 1为真 打印$0 # 0为假 不打印 -F # 改变FS值(分隔符) ~ # 域匹配 == # 变量匹配 !~ # 匹配不包含 = # 赋值 != # 不等于 += # 叠加 \b # 退格 \f # 换页 \n # 换行 \r…
文本处理三剑客 在 Shell 下使用这些正则表达式处理文本最多的命令有下面几个工具: 命令 描述 grep 默认不支持扩展表达式,加-E 选项开启 ERE.如果不加-E 使用花括号要加转义符\{\} egrep 支持基础和扩展表达式 awk 支持 egrep 所有的正则表达式 sed 默认不支持扩展表达式,加-r 选项开启 ERE.如果不加-r 使用花括号要加转义符\{\} sed详解 我们都知道,在Linux中一切皆文件,比如配置文件,日志文件,启动文件等等.如果我们相对这些文件进行一些编辑…
shell编程系列10--文本处理三剑客之sed利用sed查询特定内容 利用sed查找文件内容: pattern种类: .8p .,10p .,+5p ./regexp/p .,/regexp/p ./regexp/,8p .打印/etc/passwd中第10行的内容 sed -n '10p' /etc/passwd .打印/etc/passwd中第8行开始,到第15行结束的内容 sed -n '8,15p' /etc/passwd .打印/etc/passwd中从第8行开始,然后+5行结束的内…