分配变量时的grep字符串

时间:2017-11-16 13:31:24

标签: regex grep

我在一个文件夹中有一个文件需要删除才能解决软件冲突。 我知道文件的文件夹路径存储在* .ini文件中,我想要grep该行的特定部分,让脚本cd进去,并删除有问题的文件。

到目前为止我已经完成了:

#!/bin/bash
#

PROFFILE=$HOME/.mozilla/firefox/profiles.ini
DIRTEST=$HOME/.mozilla/firefox/

if [ -f $PROFFILE ]
        then
                echo "yes"
#               PROFPATH="$(cat $PROFFILE grep ^[[\s\S]*?(.default)$)"
                echo $PROFPATH

        else
                echo "no"
fi

#script ends here
#
#

我确定我通过混合使用grep和regex做错了而不确定如何继续。

这是ini文件的一个例子

Name=default
IsRelative=1
Path=l00jsdm9.default
Default=1

1 个答案:

答案 0 :(得分:0)

使用此:

PROFPATH=$( awk -F= '$1=="Path" {print $2}' $PROFFILE )

或者如果文件中有许多Path变量,并且需要一个与表达式匹配的变量:

PROFPATH=$( awk -F= '$1=="Path" && 2 ~ /default/ {print $2}' $PROFFILE )