我试图在一个简短的bash脚本中从特定的配置文件中获取一些别名。配置如下:
[other config]
[alias]
alias: command -o option
alias2: command -l 2
alias3: command -o option
[other config]
你如何将这些别名分开?我更喜欢这样的输出:
alias: command -o option
alias2: command -l 2
alias3: command -o option
我已经做了一些不好的事情,比如获取行号等等...... 有任何想法吗?太棒了!
答案 0 :(得分:0)
Perl有一个Config::GitLike
模块,可以用来解析那个git配置文件。
查看文档,您希望这样做:
#!perl -w
use strict;
use 5.010;
use Config::GitLike;
my $c = Config::GitLike->new(confname => 'config');
$c->load;
my $alias = $c->get( key => 'alias.alias' );
my $alias2 = $c->get( key => 'alias.alias2' );
my $alias3 = $c->get( key => 'alias.alias3' );
say "alias: $alias";
say "alias2: $alias2";
say "alias3: $alias3";
答案 1 :(得分:0)
您可以使用sed执行此操作:
sed -n -e '/\[alias\]/,/\[.*\]/s/:/:/p'
这将打印[alias]
与包含[
和]
的下一行之间的所有行,其中包含冒号。