在 bash 中以不同方式更改不同文件的一行

在 bash 中以不同方式更改不同文件的一行

我想生成 5 个文件并写入相同的内容,只是其中一行需要有不同的编号

for i in {1..5}
do
cat >File-$i<<!
   Line1
   Line2
   Line3
   Line4
!
done

在所有五个文件的 Line2 中,我想写入不同的内容 即 File-1 Line2 需要替换为for j in {17392..17565} File-2 Line2 需要替换为for j in {17566..17739} File-3 Line2 需要替换为for j in {17740..17913} 等等

答案1

#! /bin/bash

offset='17218'

for i in {1..5}
do
start=$((offset+i*174))
end=$((offset+i*174+173))
cat >File-$i<<!
   Line1
   for j in {${start}..${end}}
   Line3
   Line4
!
done

相关内容