Warning: file_get_contents(/data/phpspider/zhask/data//catemap/5/bash/17.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Arrays Bash:用数组的第n个索引替换文件第n行中的文本_Arrays_Bash_Loops - Fatal编程技术网

Arrays Bash:用数组的第n个索引替换文件第n行中的文本

Arrays Bash:用数组的第n个索引替换文件第n行中的文本,arrays,bash,loops,Arrays,Bash,Loops,尝试替换平面文件中的MAC地址。在下面的代码中,地址成功映射到数组。我尝试使用计数器增加每个循环上的数组索引,目的是用数组中的第n个地址替换第n行的地址 sed块有效地替换了地址,但仅替换为数组索引0处的条目 mapfile-t Arr1

尝试替换平面文件中的MAC地址。在下面的代码中,地址成功映射到数组。我尝试使用计数器增加每个循环上的数组索引,目的是用数组中的第n个地址替换第n行的地址

sed块有效地替换了地址,但仅替换为数组索引0处的条目


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