#筛选出第三列数字大于等于12 并把第二列的内容显示出来
sed [选项] ‘[动作]‘ 文件名
-n: 一般sed命令会把所有数据都输出到屏幕,如果加入此选择,则只会把经过sed命令处理的行输出到屏幕
-i: 用sed的修改结果直接修改读取数据的文件,而不是由屏幕输出
动作:
a \:追加,在当前行后添加一行或多行。linux if 多条件添加多行时,除最后一行外,每行末尾需要用“\”代表数据未完结
c \:行替换,在c后面的字符替换原数据行,替换多行时,除最后一行外,每行末尾需用“\”代表数据未完结
i \:插入,在行前插入一行或多行。插入多行时,除最后一行外,每行末尾需要用“\”代表数据未完结
d \:删除,删除指定的行
p \:打印,输出指定的行
s \:字符替换,用一个字符串替换另s/旧字串/新字串/g”
例:
sed -n ‘1p‘ /etc/passwd #查看文件的第二行sed ‘2,99d‘ /etc/passwd #删除2-99行的输出数据sed ‘2a hello word‘ /etc/passwd #在第二行后追加数据sed ‘2i hello word‘ student.txt #在第二行前插入数据sed ‘s/14/99/g‘ student.txt #把student.txt中所有的14替换为99
-f 忽略大小写
-n 以数值型进行排序,默认使用字符串型排序
-r 反向排序
-t 指定分隔符,默认分隔符是制表符
-k n[,m] 按照指定字段范围排序。从第n字段开始,m字段结束(默认到行尾)
两种判断格式:
[ -d /etc ]&&echo yes ||echo no [ -e /etc/passwd ]
按文件类型进行判断
-d判断该文件是否存在,并且是否为目录文件(是目录为真)
-e判断该文件是否存在(存在为真)
-f判断该文件是否存在,并且是否为普通文件(是普通文件为真)
-b 判断该文件是否存在,并且是否为块设备文件(是块设备文件为真)
-c 判断该文件是否存在,并且是否为字符设备文件(是字符设备文件为真)
-L 判断该文件是否存在,并且是否为符号链接文件(是符号链接文件为真)
-p 判断该文件是否存在,并且是否为管道文件(是管道文件为真)
-s 判断该文件是否存在,并且是否为空(非空为真)
-S 判断该文件是否存在,并且是否为套接字文件(是套接字文件为真)
按照文件权限进行判断
-r 判断该文件是否存在,并且该文件是否拥有读权限(有读权限为真)
-w 判断该文件是否存在,并且该文件是否拥有写权限(有写权限为真)
-x 判断该文件是否存在,并且该文件是否拥有执行权限(有执行权限为真)
-u 判断该文件是否存在,并且该文件是否拥有SUID权限(有SUID权限为真)
-g 判断该文件是否存在,并且该文件是否拥有SGID权限(有SGID权限为真)
-k 判断该文件是否存在,并且该文件是否拥有SBit权限(有SBit权限为真)
文件1 -nt 文件2 判断文件1的修改时间是否比文件2的新(如果新则为真)
文件1 -ot 文件2 判断文件1的修改时间是否比文件2的旧(如果旧则为真)

文件1 -ef 文件2 判断文件1是否和文件2的INode号一致,可以理解两个文件是否为同一个文件。用于判断硬链接(ln创建硬链接)
整数1 -eq 整数2 判断整数1是否和整数2相等(相等为真)
整数1 -ne 整数2 判断整数1是否和整数2不等(不等为真)
本文来自电脑杂谈,转载请注明本文网址:
http://www.pc-fly.com/a/jisuanjixue/article-86197-2.html
恰恰证明该产品值得购买