使用sed或awk将值从一个文件追加到另一个文件

时间:2017-03-13 11:18:24

标签: bash awk sed

我有一个文件说file1,包含以下数据

1.1.1.1
2.2.2.2
3.3.3.3
testserver.test.com
4.4.4.4
255.255.255.0

我希望前两个ip以下面的格式添加说file2

预期输出(file2)

DNS1=1.1.1.1
DNS2=2.2.2.2

请帮助

3 个答案:

答案 0 :(得分:1)

您可以使用Awk声明,如下所示

awk 'NR==1||NR==2{$0="DNS"NR"="$0; print}' file1 > file2

使用awk内置变量NR来跟踪行号12,并添加字符串DNS和行号并将内容打印到file2

答案 1 :(得分:1)

@catchvenki:尝试:与Inian的好解决方案略有不同(但灵感来自Inian的代码)。

<WrapPanel x:Name="wp" Background="Yellow" SizeChanged="WrapPanel_SizeChanged">
    <Button x:Name="btn1" Width="100">
        <TextBlock>1</TextBlock>
    </Button>
    <Button x:Name="btn2" Width="100">
        <TextBlock>2</TextBlock>
    </Button>
</WrapPanel>

我直接打印这些行,尽管将它们带到$ 0然后打印,然后打印所有行后将它们放入Output_file。

答案 2 :(得分:1)

awk中的另一个人:

$ awk '$0="DNS" ++i "=" $0; NR==2{exit}' file 
DNS1=1.1.1.1
DNS2=2.2.2.2

解释:

  • $0="DNS" ++i "=" $0通过在开头添加文字并使用展示位置的结果进行隐式打印来修改$0
  • NR==2{exit}在第二个记录输出后退出