Arrays Bash:用数组的第n个索引替换文件第n行中的文本
尝试替换平面文件中的MAC地址。在下面的代码中,地址成功映射到数组。我尝试使用计数器增加每个循环上的数组索引,目的是用数组中的第n个地址替换第n行的地址 sed块有效地替换了地址,但仅替换为数组索引0处的条目Arrays Bash:用数组的第n个索引替换文件第n行中的文本,arrays,bash,loops,Arrays,Bash,Loops,尝试替换平面文件中的MAC地址。在下面的代码中,地址成功映射到数组。我尝试使用计数器增加每个循环上的数组索引,目的是用数组中的第n个地址替换第n行的地址 sed块有效地替换了地址,但仅替换为数组索引0处的条目 mapfile-t Arr1
mapfile-t Arr1<问题在于sed
是从标准输入读取的,因此它不是读取$line
变量的内容,而是读取由$macFile
指定的文件的内容(第一行除外,它已经被read
抓取)
要解决此问题,请添加问题是sed
正在从标准输入读取,因此它不是读取$line
变量的内容,而是读取由$macFile
指定的文件的内容(第一行除外,该行已被read
抓取)
要解决此问题,请添加示例输入/输出/预期输出?示例输入/输出/预期输出?
mapfile -t Arr1 < <(text processing commands)
i=0
while read line
do
sed -E "s/([[:xdigit:]]{1,2}:){5}[[:xdigit:]]{1,2}/${Arr1[$i]}/"
((i++))
done < $macFile