从特定列获取特定行的值
get the values of a specific line from a specific column
我想要的是提取一个table的列表,格式如下
+---------+---------------+-------------+
| Region | Parent Region | Description |
+---------+---------------+-------------+
| region1 | None | |
| region2 | None | |
+---------+---------------+-------------+
我想从区域获取区域 1、区域 2。
到目前为止我尝试过的是
$ cat file |cut -d'+' -f1|cut -d'|' -f2
Region
region1
有什么想法吗?
sed 命令 returns
我不确定 sed
是否是正确的工具而不是本地数据库工具,但是你可以:
sed -nE '3,$ s/^\|[[:blank:]]*([^[:blank:]|]*).*//p' file.txt
3,$
只从第 3 行开始操作直到结束
^\|[[:blank:]]*([^[:blank:]|]*).*
在开头匹配 |
,然后是空格(如果有),捕获的组包含所需的部分
在替换中我们使用了第一个(唯一的)捕获组,</code></p></li>
</ul>
<p><strong>示例:</strong></p>
<pre><code>$ cat file.txt
+---------+---------------+-------------+
| Region | Parent Region | Description |
+---------+---------------+-------------+
| region1 | None | |
| region2 | None | |
+---------+---------------+-------------+
$ sed -nE '3,$ s/^\|[[:blank:]]*([^[:blank:]|]*).*//p' file.txt
region1
region2
我想要的是提取一个table的列表,格式如下
+---------+---------------+-------------+
| Region | Parent Region | Description |
+---------+---------------+-------------+
| region1 | None | |
| region2 | None | |
+---------+---------------+-------------+
我想从区域获取区域 1、区域 2。
到目前为止我尝试过的是
$ cat file |cut -d'+' -f1|cut -d'|' -f2
Region
region1
有什么想法吗?
sed 命令 returns
我不确定 sed
是否是正确的工具而不是本地数据库工具,但是你可以:
sed -nE '3,$ s/^\|[[:blank:]]*([^[:blank:]|]*).*//p' file.txt
3,$
只从第 3 行开始操作直到结束^\|[[:blank:]]*([^[:blank:]|]*).*
在开头匹配|
,然后是空格(如果有),捕获的组包含所需的部分在替换中我们使用了第一个(唯一的)捕获组,
</code></p></li> </ul> <p><strong>示例:</strong></p> <pre><code>$ cat file.txt +---------+---------------+-------------+ | Region | Parent Region | Description | +---------+---------------+-------------+ | region1 | None | | | region2 | None | | +---------+---------------+-------------+ $ sed -nE '3,$ s/^\|[[:blank:]]*([^[:blank:]|]*).*//p' file.txt region1 region2