使用“grep”从HTML表格行的第1列和第4列中提取文本

时间:2013-06-27 00:23:17

标签: bash grep

任何人都可以在grep语句中看到我做错了吗?我想我只是错过了逃脱角色。

for i in "${!PORTARR[@]}"; do
  grep \<td\>"${!PORTARR[i]}"\<\/td\> tmp/portlist >> databases/ports.db
done

***更新***

不幸的是,这不会起作用。这最终是我想要做的。

从这个字符串:

<tr><td>4</td><td>TCP</td><td>UDP</td><td>Unassigned</td><td>Official</td></tr>

我需要得到这个:

4,Unassigned

1 个答案:

答案 0 :(得分:3)

我怀疑您打算写${PORTARR[i]}i的{​​{1}}元素而不是PORTARR(由{{1}命名的变量的值${!PORTARR[i]})的元素;这样:

i

但我也建议其他一些调整:

PORTARR

更新:对于您更新的问题,我认为您最好使用真正的编程语言,例如Perl:

for i in "${!PORTARR[@]}"; do
  grep \<td\>"${!PORTARR[i]}"\<\/td\> tmp/portlist >> databases/ports.db
done

(免责声明:未经测试。)