bash - 提取仅包含3列的行

时间:2013-05-24 10:46:05

标签: bash sorting pipeline pipelining

我有一个包含以下行的文件:

  

2 |等等等等   1 |等等等等   3 |等等   2 |等等等等   1
  1 |高|五   3 |五个

我想只提取有3列(3个字段,2个分隔符......)的行 我想将它传递给以下命令:

  

| sort -nbsk1 |切-d“|” -f1 | uniq -d

毕竟我只会得到:

  

2
  1

有什么建议吗? 这是家庭作业的一部分,我们不允许使用awk \ sed和更多的命令..(grep \ tr和上面写的可以使用)

由于

2 个答案:

答案 0 :(得分:1)

因为你说grep是允许的:

grep -E '^([^|]*\|){2}[^|]*$' file

答案 1 :(得分:0)

grep '.*|.*|.*'将选择至少三个字段和两个分隔符的行。