KSH HP-SOL-Lin 无法使用 xAWK
我有几个很长的字符串,我想把它们分解成更小的子字符串。
是)我有的
String = "word1 word2 word3 word4 .....wordx"
我想要的是
String1="word1 word2"
String2="word3 word4"
String3="word4 word5"
Stringx="wordx wordx+1"
etc.....
如果我的字符串比 x 个单词长,我怎么能把它分解成不超过 x 的更小的字符串?我不知道每个字符串有多长。我们可以测试它,但它不会是一致的。
StrLen=`echo $string |wc -w`
有些字符串超过 2000 个字,所以我不能使用 shell 数组,因为最多有 1024 个字段。
想法?
这是我根据以下评论得出的结论
FIELDS=`echo $String | wc -w`
((n=$FIELDS/2+1))
i=1
while [[ $i -le $n ]]; do
typeset STRING$i=`echo $String | cut -d" " -f$CUTSTART-$CUTEND`
do stuff
i=`expr $i+1`
CUTSTART=`expr $CUTSTART+1`
CUTEND=`expr $CUTEND+1`
done
排版方面似乎仍然存在问题。假设
i=1
CUTSTART=1
CUTEND=2
String=one two three
myserver> typeset STRING=`echo $String | cut -d" " -f$CUTSTART-$CUTEND`
myserver> echo $STRING
myserver> one two
myserver>
myserver> typeset STRING$i=`echo $String | cut -d" " -f$CUTSTART-$CUTEND`
myserver> echo $STRING1
myserver> one
$i 弄乱了我的 echo|cut 命令是什么问题?