在行中查找字符串,然后将其附加到同一行

时间:2017-09-22 19:33:07

标签: bash sed

在我的bash脚本中,我想在文件/etc/hosts中搜索子字符串olr4.dtf21,将其拆分为两个变量,然后将它们附加到同一行。

以下是文件中的行:

137.222.209.123 olr4.dtf21.fltops.cat.dog.com olr4

我想要的是让这条线最终成像:

137.222.209.123 olr4.dtf21.fltops.cat.dog.com olr4 olr4.dtf21

我想我可以使用sed来做到这一点,但是暂时将子字符串输出到变量中是暂时的。

1 个答案:

答案 0 :(得分:0)

您的要求不明确。如果您正在寻找包含两个部分的模式,可以在awk中执行此操作:

awk -v var1="value1" -v var2="value2" '
    $2 ~ var1"."var2 { print $0" "var1"."var2; next } # matching lines
                     { print                        } # other lines
    ' /etc/hosts