sed偏向于整行的处理文件。而awk偏向文件分为多个字段。
--------------------------------------------------------------------------
最近简单看了awk(虽然很久之前看过)
awk中,域分隔符,使用-F参数来设置,比如说-F',',就是设置逗号为分隔符。也可以在其他位置设置,比如说,
--------------------------------------------------------------
下面使用awk给文件增加一列。
-----------------------------------
Sed由ed演变而来,它们的主要区别在于Sed面向字符流,处理的文件不会发生变化,输出到屏幕;ed不是面向字节流,处理的文件会发生变化。Awk也是面向字符流,它和Sed的区别在于Awk废弃了行编辑器的命令集,提供了仿效C语言的程序设计语言。
-------------------------------
感觉sed几个命令需要熟悉,比如a,p,d,s///g等。
注:上面这个截图不完整。只为示例。
看一下c命令和i命令。c命令是替换命令,比如说把1,2行替换为一个nnnnnnnnn....
i命令表示插入。sed的i命令可以直接在文件中进行修改,而不是由屏幕输出。
再看下面的这个例子,找到以nau开头的并且在此行上一行插入新行。
下面是删除以nau开头的行。