Warning: file_get_contents(/data/phpspider/zhask/data//catemap/5/bash/18.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Linux 从字符串中获取文本的特定部分_Linux_Bash_Sed_Awk_Grep - Fatal编程技术网

Linux 从字符串中获取文本的特定部分

Linux 从字符串中获取文本的特定部分,linux,bash,sed,awk,grep,Linux,Bash,Sed,Awk,Grep,我有一个字符串,我需要抓取两个部分-它们不同,因为它是一个PHP语言文件。希望有人能帮忙,字符串是: $_LANG['FIELD1'] = "FIELD2"; 我需要抓取字段1和字段2,这应该可以: # space seperated $ sed -n "s/.*_LANG\['\([^']*\)'] = .\(\w*\).*/\1 \2/p" file FIELD1 FIELD2 # newline seperated $ sed -n "s/.*_LANG\['\([^']*\)']

我有一个字符串,我需要抓取两个部分-它们不同,因为它是一个PHP语言文件。希望有人能帮忙,字符串是:

$_LANG['FIELD1'] = "FIELD2";
我需要抓取字段1和字段2,这应该可以:

# space seperated
$ sed -n "s/.*_LANG\['\([^']*\)'] = .\(\w*\).*/\1 \2/p" file
FIELD1 FIELD2

# newline seperated 
$ sed -n "s/.*_LANG\['\([^']*\)'] = .\(\w*\).*/\1\n\2/p" file
FIELD1
FIELD2
或者使用
grep
和:

$grep-Po”(?这应该可以做到:

# space seperated
$ sed -n "s/.*_LANG\['\([^']*\)'] = .\(\w*\).*/\1 \2/p" file
FIELD1 FIELD2

# newline seperated 
$ sed -n "s/.*_LANG\['\([^']*\)'] = .\(\w*\).*/\1\n\2/p" file
FIELD1
FIELD2
或者使用
grep
和:


$grep-Po”(?不幸的是,这会删除所有内容。我得到零output@cbcp该解决方案经过测试,因此我怀疑实际文件在某些方面与示例略有不同,因此发布实际文件;啊,是的,我写了$LANG_uu,这就是区别。不幸的是,这删除了所有内容。我得到零output@cbcp解决方案经过测试,因此我怀疑实际文件在某些方面与示例略有不同,因此发布实际文件。下面是一个示例:$\u LANG['all']=“all”;啊,是的,我写了$LANG,这就是差异所在。
awk -F "[\"']" '{ print $2, $4 }' file