我有三個文件,每個文件中有2259個IP地址的兩個文件。一個帶有137772的文件。該腳本使用sed與bash陣列和for循環來替換具有不同IP的access.log中的IP。幾個小時運行腳本後失敗,此錯誤:sed查找替換使用bash陣列失敗
的sed:-e表達式#1,燒焦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
或者,只需使用awk而不是sed進程替換。 –