awk条件查找字符串并进行替换

原创 2016年08月30日 09:37:38

file

222.247.0.0/18,222.247.0.0/17,222.247.0.0/13,222.247.0.0/14

123.46.0.0/19,123.46.0.0/17,123.46.0.0/13,123.46.0.0/14

要求:查找每行当中最大的那个数字,然后在最前面加上*号。

处理

awk -F',' '{for(i=1;i<=NF;i++)if(m<$i){m=$i;n=i};print gensub($n,"*"$n,1)}' file

解析:

首先要找到最大值,m存取的是最大值,然后n存放的是位置,最后进行替换。注意这里用的是gensub进行的替换,没有用gsub或者是sub,因为这两个返回的是匹配的个数而不是替换后的字符串。但是gensub返回的是替换后的字符串。

 

版权声明:本文为博主原创文章,未经博主允许不得转载。

awk内置字符串函数

常用内置函数 awk内置字符串函数 gsub(r,s)       在整个$0中用s替代r gsub(r,s,t)     在整个t中用s替代r index(s,t)      返回s中字符串t的第一...
  • nuoline
  • nuoline
  • 2013年02月25日 18:38
  • 6774

Linux基础——awk替换

Linux基础知识,awk 分段功能介绍。

awk指定列修改

awk的用法

shell脚本,用awk实现替换文件里面的内容。

 文件是这样,有ID和具体信息,ID行以@开头,后面的信息有空格,把第一个空格后的全部内容替换为空格前的字符。 用AWK来实现。   @AA10 P 7 # YYYYYYYYYYYY...

awk gsub 批量替换

echo "d&g&#m#k=% " | awk -F" " '{print $0; gsub(/[&\t\n%#=]/,"", $0); print $0; }' -d&g&#m#k=% d...

sed(查找替换) 与awk(提取字段)

通常: sed 处理列  awk处理行 比较方便 Sed是一个基本的查找替换程序 cat my.txt|sed s/a/A/ >n.txt     (不指定列数,默认是包含a的第一列)将1.txt文...

awk 字符串函数

awk提供了许多强大的字符串函数,见下表:awk内置字符串函数gsub(r,s)    在整个$0中用s替代rgsub(r,s,t)    在整个t中用s替代rindex(s,t)    返回s中字符...
  • xgdofull
  • xgdofull
  • 2010年03月29日 21:24
  • 27638

如何使用 awk 和正则表达式过滤文本或文件中的字符串

当我们在 Unix/Linux 下使用特定的命令从字符串或文件中读取或编辑文本时,我们经常需要过滤输出以得到感兴趣的部分。这时正则表达式就派上用场了。 什么是正则表达式? 正则表达式可以定...

记录 awk + sed替换文件内容的写法

一个shell脚本con.sh,根据输入参数,从a_file文件获取对应的字符串,用这个字符串替换b_file文件中某个字符串。 a_file #lang seq Lua ...

20151207 复习(sed 查找替换and awk查找替换分段)

sed [root@niejicai-linux ~]# sed 's/[a-z]/\u&/g' test.txt       把所有的小写替换为大写! ROOT:X:0:0:ROOT:/RO...
内容举报
返回顶部
收藏助手
不良信息举报
您举报文章:awk条件查找字符串并进行替换
举报原因:
原因补充:

(最多只允许输入30个字)