awk之原文编辑(类似 sed -i 功能)

来源:互联网 发布:tnt网络瘫痪 编辑:程序博客网 时间:2024/04/30 08:22

$ cat file
a
b
c

$ awk '/a/{$0="-"}1' file 1<>file

$ cat file

-

b
c
[解析]
其实是利用了FD作为一个过渡,FD1读入awk的执行结果,然后再写回file文件中。这个技巧同样能用于其他命令,比如 tr 。
以后有复杂的文本编辑不能使用sed -i,又不想awk写临时文件的同学们就用这个办法吧。

利用其他FD:
awk '/a/{$0="-"}1' file 5<>file >&5
特别注意,此方法操作有一定不可以预见的失败。谨慎使用。

原文地址 http://blog.chinaunix.net/uid-10540984-id-3014515.html

原创粉丝点击