当前位置:首页 > 芯闻号 > 充电吧
[导读]sed命令 sed本身也是个管道命令,可以将数据进行替换,删除,新增,选取特定行等功能。sed [-nefr] [动作]参数  -n: 使用安静模式,在一般的sed用法中,所有STDIN的数据都会列出

sed命令 sed本身也是个管道命令,可以将数据进行替换,删除,新增,选取特定行等功能。
sed [-nefr] [动作]
参数  -n: 使用安静模式,在一般的sed用法中,所有STDIN的数据都会列出到屏幕上,但是加上-n只有sed特殊处理的那一行才会显示  -e:直接在命令模式上进行sed的动作编辑  -f:直接将sed的动作写在一个文件内, -f filename 则可以执行filename内的sed动作  -r:sed的动作支持扩展正则表达式的语法  -i:直接修改读取的文件的内容,而不是由屏幕输出。
动作说明:
[n1,[n2]] function function的参数: a:后面可以接字符串,这些字符串会出现在新的一行,目前的下一行 c:替换,替换n1:n2之间的行 d:删除 i:插入,出现在目前的上一行,和a相反。 p:打印 s:替换可以直接接替换的工作,通常这个s的动作可以搭配正则表达式,例如 1,20s/old/new/g
看命令猜测意思:
nl a.txt | sed '2,5d' 打印passwd内容,显示行号,删除2到5行。
nl a.txt| sed '2a drink tea ' 在第二行后(第三行)加drink tea 
插入多行:

每一行都要以 ‘’结尾是关键

显示特定的行

将2到4的内容替换为no number

这是在文本最后一行 加入 文本

替换最后的d 为hello



awk awk 是数据处理工具,sed 是常常对一行进行处理,但是awk经常是对一行里面分成字段来处理。

运行模式:awk '条件类型1{动作1}条件类型2{动作2}}...‘ filename
awk主要是处理每一行的字段内的数据,默认的字段的分隔符为空格键,或者tab键。
选取第一列和第三列

操作顺序是:
读入第一行,并将第一行的数据填入$0,$1,$2 .   $0代表的是第一行数据的意思
依据条件类型的限制,判断是否需要进行后面的操作
做完所有的动作与条件类型
若还有后续的行的数据,会重复1-3的步骤,直道所有的数据都会读完。
判断行和列的变量
NF:每一行$0拥有的字段总数
NR:目前awk所处理的是第几行数据
FS:目前分隔符,默认是空格键

这些都是内置变量。
awk的后续动作是 单引号括住的,所以动作里面的print要打印是包含非变量部分用 双引号定义出来。

awk也有一些逻辑运算符,和C语言一样。
第三段是UID,选择第三列10以下的数据,并且仅仅列出帐号和第三列。第三列是UID

上面没有显示第一个,因为默认的情况下还是以空格或者tab分开的,所以这个用了BEGIN 关键字

awk的统计功能,利用了内置变量NR 判断























本站声明: 本文章由作者或相关机构授权发布,目的在于传递更多信息,并不代表本站赞同其观点,本站亦不保证或承诺内容真实性等。需要转载请联系该专栏作者,如若文章内容侵犯您的权益,请及时联系本站删除( 邮箱:macysun@21ic.com )。
换一批
延伸阅读
关闭