将多行脚本转换为单个语句

将多行脚本转换为单个语句

我正在使用以下脚本从输出中获取起始编号。如下所示,多行脚本运行良好。

openssl asn1parse -inform der -in $1 | grep id-smime-aa-pattern -A 1 > outfile.txt
startnum=$(cat outfile.txt | cut -f1 -d:)
echo "startnum:$startnum"

outfile.txt 的内容:

7430:d=7 hl=2 l= 11 prim: 对象 :id-smime-aa-pattern
7567:d=7 hl=4 l=5216 缺点: SET

输出:

起始号码: 7430
7567

但我想在单行中实现这一点,我已经尝试了多种方法,但无法做到。任何指示/帮助表示赞赏。

startnum=$(cat $(openssl asn1parse -inform der -in $1 | grep id-smime-aa-pattern -A 1) | cut -f1 -d:)

startnum=$(`cat $(openssl asn1parse -inform der -in $1 | grep id-smime-aa-pattern -A 1)` | cut -f1 -d:)

startnum=$(cat $(`openssl asn1parse -inform der -in $1 | grep id-smime-aa-pattern -A 1 | grep id-smime-aa-pattern -A 1`) | cut -f1 -d:)

startnum=$(cat (`openssl asn1parse -inform der -in $1 | grep id-smime-aa-pattern -A 1 | grep id-smime-aa-pattern -A 1`) | cut -f1 -d:)

startnum=$(cat `openssl asn1parse -inform der -in $1 | grep id-smime-aa-pattern -A 1 | grep id-smime-aa-pattern -A 1` | cut -f1 -d:)

startnum=$(`openssl asn1parse -inform der -in $1 | grep id-smime-aa-pattern -A 1 | grep id-smime-aa-pattern -A 1` | cut -f1 -d:)

startnum=$($(`openssl asn1parse -inform der -in $1 | grep id-smime-aa-pattern -A 1 | grep id-smime-aa-pattern -A 1`) | cut -f1 -d:)

答案1

以下应该有效:

echo startnum:"$(openssl asn1parse -inform der -in $1 | grep id-smime-aa-pattern -A 1 | cut -f1 -d:)"

相关内容