簡単な質問があります-出力が変更された一連のファイルの問題を解決しようとしています。
出力は次のようになります。
>Tests HadI-sdds1:4134:AAABBBBB:1:1101:6635:2407_2:N:0:TTTTTT
AAAABBBBBEEEECCCCERTTSFASFASFDSGFSDGGSFGFSGDFGDFGDFGDFGDFGDFGDFGDCCVBWAAAABBBBBEEEECCCCERTTSFASFASFDSGFSDGGSFGFSG
しかし、次のように表示されます:
>Tests HadI-sdds1:4134:AAABBBBB:1:1101:6635:2407_2:N:0:TTTTTT
AAAABBBBBEEEECCCCERTTSFASFASFDSGFSDGGSFGFSGDFGDFGDFGDFGDFGDFGDFGDCCVBW
AAAABBBBBEEEECCCCERTTSFASFASFDSGFSDGGSFGFSG
私はそれを修正するために次のコードを書きましたが、16行目は空の文字列を返すように見えますが、varを入力せずにエコーを実行すると、完全な行が得られます。
#!/bin/sh
FILENAME=$1
OUTPUT=$2
set LineToWrite=''
while read LINE
do
if [ `echo "$LINE" | awk '{print substr($0,1,1)}'` == ">" ]
then
echo "$LineToWrite" >> $OUTPUT
echo "$LINE" >> $OUTPUT
set LineToWrite=''
else
set currLine=`echo "$LINE" | awk '{print substr($0,1,70)}'`
set LineToWrite+=$currLine
fi
done <$FILENAME
私の問題を解決するためのアイデアはありますか?(ファイルには100万行を超える行が含まれています)
よろしくお願いします!!!!