我有一个文件(例如file.txt),其中包含如下数据
export ARA_DATABASE="mysql+pymysql://ara:password@localhost/ara?charset=utf8mb4"
ara-manage runserver -h <server_ip> -p 9191 -d
如何使用grep获取代码18的值?
答案 0 :(得分:1)
根据(gnu)grep的要求:
echo "^A15=0^A18=20170924065847986457^A21=0^A22=2" | grep -oP "A18=\K\d+"
输出:
20170924065847986457
\ K是(?<= pattern)的简短高效形式,可在要输出的文本之前将其用作零宽度后向断言。
答案 1 :(得分:0)
这不适用于grep
,后者是用于过滤而非提取的。
您可以改用perl
:
perl -pe 's/.*\^A18=([^^]+).*/$1/' <<< '^A15=0^A18=20170924065847986457^A21=0^A22=2'
这将输出:20170924065847986457