bash – ksh变量接受的最大字符数是多少?

我正在尝试加载和解析一个非常大的文本文件.尽管加载不是问题,但是在一行上有特定行具有2908778个字符.

这导致我的脚本出错.

在下面的脚本中,我删除了所有逻辑,然后直接读取行.
我还删除了所有有效行,并在一个文本文件中留下了很长的行.运行时我得到以下错误

$dowhiledebug.sh dump.txt
dowhiledebug.sh[6]: no space
Script Ended dump.txt

实际的脚本:

#!/bin/sh
 filename=$1
 count=1
 if [ -f ${filename} ]; then
    echo "after then"
    while read line;
            do
            echo "$count"
            count=$((count+1))
            done < $filename
 else
    echo "Could not open file $filename"
 fi
 echo "Script Ended $filename"

更新时间(2013-01-17)

跟进问题:Is it possible to increase the maximum number of characters that ksh variable accepts?

任何shell的限制都是C命令行最大值的限制.这是一个小程序,可以为您提取/usr/include/limits.h中的信息:
cpp <<HERE | tail -1
#include <limits.h>
ARG_MAX
HERE

我给了我(256 * 1024)或262144个字符.

如果没有安装C编译器,则不起作用,但它可能是类似的限制.

相关文章

普通模式 >G 增加当前行到文档末尾处的缩紧层级 $ 移动到本行的末尾 . 相当于一个...
原文连接: https://spacevim.org/cn/layers/lang/elixir/ 模块简介 功能特性 启用模块 快捷键 语言专属...
原文连接: https://spacevim.org/cn/layers/lang/dart/ 模块简介 功能特性 依赖安装及启用模块 启用模...
 =   赋值操作符,可以用于算术和字符串赋值 +        加法计算     -        减法运算...
1.根据包名来查看指定的APP指定数据 adb shell "top | grep com.xxx.xxx" 由于这样打印出来的数...
ctrl+F 向下翻页 ctrl+B 向下翻页 u 取消最近一次操作 U 取消当前行的操作 ZZ 保存当前内容并退出 gg 跳...