我正在寻找Unix下面提到的代码的更好的解决方案。如何最大限度地减少搜索大文件的时间
cat $FILE_PROC | while read LINE
do
SEG_NBR=`echo $LINE | cut -c 1-1`
if [ "${SEG_NBR}" == "3" ] ; then
echo "Logical level header is identified"
#COUNT_DETAIL_SEG=0
elif [ "${SEG_NBR}" == "4" ] ; then
COUNT_DETAIL_SEG=`expr ${COUNT_DETAIL_SEG} + 1`
SUM_OF_DETAIL_RCDS=${COUNT_DETAIL_SEG}
echo "Sum of detail records is $SUM_OF_DETAIL_RCDS"
fi
在上面提到的代码中,Cat命令在文件的每一行中查找某个SEG_NBR。 我在大文件(例如565656)行中执行此脚本时遇到了麻烦。
有上面相同的结果
你是说我应该将不同的模式重定向到不同的文件以便制作小文件? –
如果你正在寻找一个文件行中的SEG_NBR,你可以使用'grep SEG_NBR filenamehere.txt',它会给你所有在其中有SEG_NBR的行。 –
SEG_NBR出现在文件的每一行,但是我们不知道SEG_NBR是3还是4或5.So你是否想说我应该将不同的SEG_NBR模式指向不同的文件,这将有助于创建小文件从而使搜索容易? –