Warning: file_get_contents(/data/phpspider/zhask/data//catemap/5/bash/17.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
Bash Grep一行中只有两个部分_Bash_Awk_Grep - Fatal编程技术网

Bash Grep一行中只有两个部分

Bash Grep一行中只有两个部分,bash,awk,grep,Bash,Awk,Grep,我有以下几行。我可以将一部分变灰,但也会努力将第二部分变灰 行: html:<TR><TD>PICK_1</TD><TD>36.0000</TD><TD>1000000</TD><TD>26965</TD><TD>100000000</TD><TD>97074000</TD><TD>2926000</TD><TD

我有以下几行。我可以将一部分变灰,但也会努力将第二部分变灰

行:

html:<TR><TD>PICK_1</TD><TD>36.0000</TD><TD>1000000</TD><TD>26965</TD><TD>100000000</TD><TD>97074000</TD><TD>2926000</TD><TD>2.926%</TD><TD>97.074%</TD></TR>
html:PICK_136.0000100000026965000009707400029260002.926%97.074%
我想在将这行变灰后得到以下结果

选择1 97.074%

目前只是通过下面的命令将第一部分变灰

grep -Po "<TR><TD>[A-Z0-9_]+" test.txt
grep-Po“[A-Z0-9_200;]+”test.txt

非常感谢您对我的帮助。谢谢

尝试在“-e”选项后提供每个图案

grep-e PICK_1-e“[A-Z0-9_]+”test.txt

使用带有自定义字段分隔符的awk:

awk -F'[<>TDR/]+' '{ print $2, $(NF-1) }' file
awk-F'[TDR/]+'{print$2,$(NF-1)}文件
这会在看起来像一个或多个打开或关闭
标记的内容上分割行,并打印第二个和最后第二个字段


警告:除了您显示的输入之外,几乎所有输入都会中断,因为awk、grep和friends是为处理文本而设计的,而不是HTML。

如果您总是有相同数量的字段由“TD”标记分隔,您可以尝试使用此(dirty)
awk

awk -F'[<TD>|</TD>]' '{print $8 " " $80}'
column -t -s "</TD>" | awk -F' ' '{print $3 " " $11}'
或使用
sed
代替

sed -e 's/<TD>/ /g' | awk -F' ' '{print $3 " " $11}'
sed-e的///g'| awk-F'{print$3”“$11}
awk-F'[]'{print$5,$(NF-4)}文件
选择1 97.074%
sed -e 's/<TD>/ /g' | awk -F' ' '{print $3 " " $11}'
awk -F'[<>]' '{print $5,$(NF-4)}' file
PICK_1 97.074%