小编kpw*_*kpw的帖子

perlbrew:在本地安装perl模块

我已经在OS X上安装了perlbrew,并且可以从CPAN安装Perl模块,使用'cpanm'没问题.

但是,现在我正在尝试安装一个软件供应商提供的Perl模块,并且该PM不在CPAN上 - 您从他们的应用程序下载它并"在本地"安装它.

我不确定如何用perlbrew完成这个任务?

文档说明要直接安装,下载tar.gz文件,解压缩,然后:

cd Infoblox-xxxxxxx/
 perl Makefile.PL
 make
 make install
Run Code Online (Sandbox Code Playgroud)

但是如果我这样做,我想它会为OS Perl版本安装它,而不是我的perlbrew安装.

提到的另一个选项是创建本地CPAN站点并将设备URL(以获取Perl模块)添加到站点列表.perlbrew有可能吗?

谢谢 !

perl perlbrew

2
推荐指数
1
解决办法
728
查看次数

仅在大于时才替换值

尝试使用shell命令替换大量文件中的值(在脚本中使用以迭代目录中的文件).

Input file examples:

file1:
019=False
051=Limited
051>Limited Lease Time=2419200

file2:
019=False
051=Limited
051>Limited Lease Time=14400
Run Code Online (Sandbox Code Playgroud)

这工作没问题:

sed -e '/Limited Lease Time=/s/[0-9]\+$/86400/g' <infile >outfile

# cat outfile
019=False
051=Limited
051>Limited Lease Time=86400
Run Code Online (Sandbox Code Playgroud)

但是......然后意识到我正在替换任何值,包括低于86400的值,当时我只想更换大于86400的任何值.

我以为我可以使用awk,这种'有点'工作,因为在输出中只有'限制租用时间'行,其值> 86400:

awk -F= '/Limited Lease Time/ && $2 > 86400 { print $2 }'
Run Code Online (Sandbox Code Playgroud)

但是......它只输出匹配的行,而我需要原始输出(示例中为3行),包括修改,如果匹配值> 86400.

感谢一些处理这个问题的建议!

linux bash shell awk sed

2
推荐指数
1
解决办法
77
查看次数

标签 统计

awk ×1

bash ×1

linux ×1

perl ×1

perlbrew ×1

sed ×1

shell ×1