我有一个包含许多单词的字符串,每两个单词之间至少有一个空格.如何将字符串拆分为单个单词,以便循环使用它们?
该字符串作为参数传递.例如${2} == "cat cat file".我怎么能循环呢?
另外,如何检查字符串是否包含空格?
一个简单的测试脚本:
while read LINE; do
LINECOUNT=$(($LINECOUNT+1))
if [[ $(($LINECOUNT % 1000)) -eq 0 ]]; then echo $LINECOUNT; fi
done
Run Code Online (Sandbox Code Playgroud)
当我这样做时cat my450klinefile.txt | myscript,CPU锁定为100%,并且每秒可以处理大约1000行.大约5分钟处理cat my450klinefile.txt >/dev/null半秒钟的事情.
有没有更有效的方法来实现这一点.我只需要从stdin读取一行,计算字节数,然后将其写入命名管道.但即便是这个例子的速度也很慢.
每1Gb的输入行我需要做一些更复杂的脚本操作(关闭并打开一些数据被输入的管道).