Bash string explode
本问题已经有最佳答案,请猛点这里访问。
我的文件如下:
1 2 | record=123 date=2012.01.20 10:22 |
在bash文件中,我执行
如何在狂欢中完成?
1 | awk -F'=| ' '/record/ {print $2}' |
在上面的命令中用"日期"代替"记录",得到日期(时间在
这个键设置在变量名上,而不是取决于值的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) |