【发布时间】:2015-04-07 09:16:17
【问题描述】:
我有三个文件,两个文件,每个文件有 2259 个 IP 地址。一个包含 137772 的文件。该脚本使用 sed 和 bash 数组和一个 for 循环来用不同的 IP 替换 access.log 中的 IP。运行几个小时后,脚本失败并出现以下错误:
sed: -e 表达式#1, char 0: 没有之前的正则表达式
uniq IP 地址的数量也少了六个 IP。
这是脚本:
#!/bin/bash
_ORGIFS=$IFS
IFS=$'\n'
_alIPs=($(<access.log.IPs)
_fIPs=($(<randomIPs.txt)
for (( _i=1; _i<=2259; _i++ ))
do
sed -i "s/${_alIPs[$_i]}/${_fIPs[$_i]}/g" access.log
done
IFS=$_ORGIFS
【问题讨论】: