当行号存储为变量时,替换文件的特定行(bash)

时间:2019-02-13 14:46:20

标签: bash

我在变量order中存储了一个数字。 我想在文件中contents中存储的行号处插入变量order的内容。

如果数字是静态的,我发现了很多不同的处理方法,但是在这种情况下,变量会在while循环的每次迭代中更改。

1 个答案:

答案 0 :(得分:0)

只需使用sed "${order}s/SEARCH_PATTERN/REPLACE_PATTERN/"。如果要替换该行,可以使用.*作为搜索模式。

例如,将行3、4和5的内容分别替换为“ LINE3”,“ LINE4”或“ LINE5”:

for order in {3..5}
do 
    sed -i "${order}s/.*/LINE${order}/" file.txt
done