shell 脚本处理整型Ip转换标准ip,字符串转整型得一个问题

业务背景:有一批ip数据来源,需要清洗出指定字段,但是来源得ip是数字类型的;

使用转换方法:

function int_to_ip
{
N=$1
declare -i H1="$N & 0x000000ff"
declare -i H2="($N & 0x0000ff00) >> 8"
declare -i L1="($N & 0x00ff0000) >> 16"
declare -i L2="($N & 0xff000000) >> 24"
echo "$L2.$L1.$H2.$H1"
}

但是传入参数必须是整型;
错误操作:

echo $line |  awk '{print $2}' | int_to_ip

报异常:

./int_to_ip.sh: line 4: declare: '0' & 0x000000ff: syntax error: operand expected (error token is ""0" & 0x000000ff")

异常原因:
切出来的数据是带""的;
解决方法:

echo $line | awk '{print $2}'|sed 's/\"//g'
  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值