代码之家  ›  专栏  ›  技术社区  ›  Invictus

在多个脚本中的变量分配中附加新路径

  •  0
  • Invictus  · 技术社区  · 6 年前

    我在Perl脚本中声明了一个环境变量,如下所示。这个变量在不同的Perl文件中可能略有不同。 在第一个文件中:

    $ENV{MY_LIBS} = "$MY_PATH/bin:$HOME/PACKAGE1:$HOME/PACKAGE2";
    

    在第二文件中:

    $ENV{MY_LIBS} = "$MY_PATH/bin:$HOME/MYLIBS1:$HOME/PACKAGE2";
    

    现在说我想追加 $MY_PATH/lib 所有这样的文件,以便:

    在第一个文件中:

    $ENV{MY_LIBS} = "$MY_PATH/bin:$HOME/PACKAGE1:$HOME/PACKAGE2:$MY_PATH/lib";
    

    在第二文件中:

    $ENV{MY_LIBS} = "$MY_PATH/bin:$HOME/MYLIBS1:$HOME/PACKAGE2:$MY_PATH/lib";
    

    在Linux中,如何使用一些简单的命令来实现这一点?

    1 回复  |  直到 6 年前
        1
  •  1
  •   zdim    6 年前

    Perl "one-liner"

    perl -i.bak -pe's/\$ENV{MY_LIBS}.*\K"\s*;/:$MY_PATH\/lib";/' file1 file2 ...
    

    $MY_PATH

    • -e ''

    • -p

    • -i .bak

    lookbehind \K "; \K