我的文件如下所示:
record=123
date=2012.01.20 10:22
在bash文件中,我执行cat myfile.ini
,然后我需要使用类似爆炸的东西,因为我只需要grep 123
数字记录数据,而不需要其他任何东西。
如何在狂欢节中做到这一点?
awk -F'=| ' '/record/ {print $2}'
将上面命令中的"日期"替换为"记录"以获得日期(时间应为$3
)。
这取决于变量的名称,而不是取决于值的正则表达式匹配。它使用空格或等号作为字段分隔符。
如果您可以控制ini文件,请将其重写为:
record=123
date="2012.01.20 10:22"
然后在你的"bash文件"中进行
. myfile.ini
echo $record
这是典型的方法。(如果您可以控制ini文件)
您可以使用:
#!/bin/sh
VALUE="`grep '^record=' myfile.ini |sed 's/[^0-9]//g'`"
您可以这样做:
awk '/=[0-9]+$/' file.txt
只打印stdout上=sign之后包含数字内容的行。
但是,如果您只想将123捕获到变量中,则可以使用:
val=$(awk -F"=" '/=[0-9]+$/{print $2}' file.txt)