用awk bash NR。如何打印其余行?

时间:2016-06-15 09:05:48

标签: bash awk

我是编程方面的新手,我很容易怀疑,但我在其他问题中找不到答案......我希望你能帮助我:)。

我有一个名为template.conf的文件,我需要制作许多ID.conf文件来更改该模板的两行(24和49)。我知道如何做到这一点:

awk -v Id=${Id} '(NR==24){$3=${Id}".txt"} (NR==49){$3="Input_"${Id}".txt"}' \
  template.conf > ${Id}.conf

但这只会打印第24行和第49行;不是模板文档的其余部分......

我该如何解决这个问题?

1 个答案:

答案 0 :(得分:1)

这个awk应该可以工作。

awk -v Id=${Id} 'NR==24{$3=Id".txt"} NR==49{$3="Input_"Id".txt"}1' \
template.conf > ${Id}.conf

我猜awk行是在bash脚本中。最后的1使awk打印所有行。