私の出力は次のとおりです
「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