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 語を超えているため、最大 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
タイプセット peice にはまだ問題があるようです。仮定
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 コマンドを台無しにするこの問題は何ですか?