我有非常大的文本文件(~50,000),我必须对其进行一些文本处理。基本上运行多个grep命令。 当我手动运行它时会立即返回,但是当我在bash脚本中执行相同操作时 - 需要花费很多时间。我在下面的bash脚本中做错了什么。我将文件名作为命令行参数传递给脚本
示例输入数据:
BUSINESS^GFR^GNevil
PERSONAL^GUK^GSheila
应该出现在文件中的输出 - BUSINESS ^ GFR ^ GNevil
经过一段时间后,它开始在终端上打印出整个文件。我如何抑制它?
#!/bin/bash
cat $2 | grep BUSINESS
答案 0 :(得分:1)
请勿将cat
与可以读取文件本身的程序一起使用
它减慢了速度,你失去了功能:
grep BUSINESS test | grep '^GFR|^GDE'
或者您可以使用awk
awk '/BUSINESS/ && /^GFR|^GDE/' test