我在UNIX脚本中有一个查询。我有一个文件如下:
A|B|C|D|
E|F|G|
H|I|J|K
L|M|N|
O|P|Q|
我想从条件中选择条件为“只有没有第四个值的记录”的记录。结果文件应该看起来像
E|F|G|
L|M|N|
O|P|Q|
有人可以帮我解决这个问题。
另外:还有一个问题:如果线E | F | G |怎么办?在最后一个管道(|)后面有一个空格。它不会选择该行。我们需要修剪这个吗?
答案 0 :(得分:1)
您可以使用awk:
awk -F '|' '$4 == ""' file
E|F|G|
L|M|N|
O|P|Q|
<强>解体:强>
-F '|' # sets input field separator as |
$4 == "" # selects only records that have 4th column empty
您也可以使用:
awk -F ' *\\| *' '$4 == ""' file
如果|
字符周围有空格。
答案 1 :(得分:0)
awk -F'|' '!length($ 4)'文件
E | F | G |
大号| M | N |
ø| P | Q |