美文网首页
awk 和 sed配合为文本里面的数字加一操作

awk 和 sed配合为文本里面的数字加一操作

作者: Odven | 来源:发表于2020-05-27 10:11 被阅读0次

文本格式

cat /root/test.txt

105 1.196.116.15
30 23.129.64.100
12 209.107.216.190
39 218.19.169.89

脚本操作

#!/bin/bash

file="/root/test.txt"

incr(){
    ip=$1
    n=$(awk -v ip=${ip} '$2==ip{print $1+1}' ${file})
    # sed -ri "/${ip}/s#[0-9]+\s+${ip}#${n} ${ip}#g" ${file}
    sed -ri "/${ip}/s#[0-9]+(\s+${ip})#${n}\1#g" ${file}
}

while read line
do
    ip=$(echo ${line} | awk '{print $2}')
    incr $ip
done < ${file}

相关文章

网友评论

      本文标题:awk 和 sed配合为文本里面的数字加一操作

      本文链接:https://www.haomeiwen.com/subject/yoiiahtx.html