关于Unix:bash string explode

 2019-05-06 

Bash string explode

本问题已经有最佳答案,请猛点这里访问。

我的文件如下:

1
2
record=123
date=2012.01.20 10:22

在bash文件中,我执行cat myfile.ini,然后需要使用explode之类的东西,因为我只需要对123数字记录数据进行grep,而不需要其他任何操作。

如何在狂欢中完成?


1
awk -F'=| ' '/record/ {print $2}'

在上面的命令中用"日期"代替"记录",得到日期(时间在$3中)。

这个键设置在变量名上,而不是取决于值的regex匹配。它使用空格或等号作为字段分隔符。


如果您可以控制ini文件,请将其重写为:

1
2
record=123
date="2012.01.20 10:22"

然后在你的"bash文件"里

1
2
3
. myfile.ini

echo $record

这是典型的方法。(如果您控制了ini文件)


你可以使用:

1
2
#!/bin/sh
VALUE="`grep '^record=' myfile.ini |sed 's/[^0-9]//g'`"


你可以这样做:

1
awk '/=[0-9]+$/' file.txt

只打印在=签入stdout后带有数字内容的行。

但是,如果只想将123捕获到变量中,那么可以使用:

1
val=$(awk -F"=" '/=[0-9]+$/{print $2}' file.txt)