後続の行間の要素別比較、各空の出力に値を割り当てる

後続の行間の要素別比較、各空の出力に値を割り当てる

私の出力は次のとおりです

ASCIIファイル

「Fe \ s2b」文字列を含む行から最後の要素を選択したいと思います。しかし、問題は、「H \ s \ s 1 \ s \ s \ s \ s \ s \ s 4861.33A」が表示されるたびにグリッドポイントであり、理想的には含める線の横に「Fe \ s2b」がなければならないことです。 H\s\s1\s\s\s\s\s\s4861.33A" (代替であるため、各偶数行の最後の要素を簡単に呼び出すことができます)。

そうではないので、「H\s\s1\s\s\s\s\s4861.33A」ごとに、次の行で「Fe\s2b」文字列を検索するすべての項目を記録したいと思います。 。次のようなものです(これがうまくいかないことを知っています)。

awk '{print NR, $0}' testing.txt | grep "H\s\s1\s\s\s\s\s\s4861.33A" testing.txt | awk '{
if ($1 == H && $(NF + 1)== H) 
 print "-99"; 
else 
 grep "Fe\s2b" testing.txt | awk "{print $NF}" testing.txt && <increment line=line+2>}' testing.txt

ここでは、各行の最初の要素を取得し、次の行の最初の要素と比較したいと思います。一致する場合は、「-99」の値を割り当てます。それ以外の場合は、次の行の最後の要素を呼び出します(つまり、対応する)。 'Fe \ s2b'値)に移動し、n + 2行にジャンプします。

答え1

Pythonでこれを行う方法を見つけました。

data = open('testing.txt','r+')

for line in data:
    if line[0] == 'H':
        print(-99)
    else:
        if line[-8]==" ":
            print(line[-7:-1])
        else:
            print(line[-8:-1])
        try:
            data.__next__()
        except StopIteration:
            break

関連情報