001、awk中sub函数的用法:sub用于替换,其语法如下:
a、
[root@pc1 test1]# ls a.txt [root@pc1 test1]# cat a.txt ## 测试数据 abcdxabcd abcd xyz qmn opqriytyx abcd uny een abcdkabcd eabc abc abc [root@pc1 test1]# awk '{sub("abc", "QQQ", $0); print $0}' a.txt ## 替换对象是整个记录(一行);替换每行匹配的第一个 QQQdxabcd abcd xyz qmn ## 顺序依次是匹配内容,替换内容和替换对象 opqriytyx QQQd uny een QQQdkabcd eabc abc abc
b、替换对象也可以是单独的一个字段,比如第一个字段$1;
[root@pc1 test1]# ls a.txt [root@pc1 test1]# cat a.txt ## 测试数据 abcdxabcd abcd xyz qmn opqriytyx abcd uny een abcdkabcd eabc abc abc [root@pc1 test1]# awk '{sub("abc", "QQQ", $1); print $0}' a.txt ## 限定匹配字段为第一个字段 QQQdxabcd abcd xyz qmn opqriytyx abcd uny een QQQdkabcd eabc abc abc
002、gsub: gsub和sub的区别就是gsub替换的是整行的所有匹配内容,而sub替换的是匹配的第一个,示例如下:
[root@pc1 test1]# ls a.txt [root@pc1 test1]# cat a.txt ## 测试数据 abcdxabcd abcd xyz qmn opqriytyx abcd uny een abcdkabcd eabc abc abc [root@pc1 test1]# awk '{sub("abc", "QQQ", $0); print $0}' a.txt ## sub替换效果 QQQdxabcd abcd xyz qmn opqriytyx QQQd uny een QQQdkabcd eabc abc abc [root@pc1 test1]# awk '{gsub("abc", "QQQ", $0); print $0}' a.txt ## gsub替换效果 QQQdxQQQd QQQd xyz qmn opqriytyx QQQd uny een QQQdkQQQd eQQQ QQQ QQQ
。
标签:test1,index,abc,sub,pc1,substr,abcd,txt From: https://www.cnblogs.com/liujiaxin2018/p/18028707