如何在Unix中使用空列显示文本文件中的记录

时间:2014-02-19 08:14:22

标签: unix

我是新手。 我有一个超过1000条记录的文件。每列用分隔符管“|”分隔。 我想只看到有空列的记录。

等待有价值的答案。

谢谢, 和Sandeep

2 个答案:

答案 0 :(得分:2)

有了egrep,你可以一次打几个字符串 你想找到以enmpty colum(^ |),
开头的行 中间(||)和行中有空列的行 结束女巫空行(| $) egrep使用|作为grep字符串中的OR分隔符,所有|上面的字符必须由\字符转义 结果:

$ cat file
a1|b1|c1
|b2|c2
a3||c3
a4|b4|
$ egrep "^\||\|\||\|$" file
|b2|c2
a3||c3
a4|b4|

答案 1 :(得分:1)

如果我有样本文件数据,请执行以下操作:

|void|bar
foo|void|bar
foo||bar
foo|void|

我必须在开头寻找|||,在最后寻找|。这项工作对我来说:

cat data | grep "^|\|||\||$"

grep的解释:

  • ^| - 行首
  • \| - 或
  • || - 其中两个
  • \| - 或
  • |$ - 行尾

<强>输出:

|void|bar
foo||bar
foo|void|