パターンを含むアイテム全体を削除するにはどうすればよいですか?

パターンを含むアイテム全体を削除するにはどうすればよいですか?

次の形式のファイルがたくさんあります。

Num  name1  name2  value

たとえば、in1.spというファイルは次のようになります。

 C1    in1    out1        3.9e-12
 C2    foo    st1/in1     1.2e-14
 C3    foo2   in1         8.3e-14
 ...

など。すべての行の名前列の1つにファイル名が含まれています。他のテキストがあっても、ファイル名を含むエントリ全体を削除したいと思います。したがって、上記が入力の場合、希望の出力は次のようになります。

 C1    out1    3.9e-12
 C2    foo     1.2e-14
 C3    foo2    8.3e-14
 ...

ありがとうございます!

ベストアンサー1

私もあなたを正しく理解したら、これを試してください

for f in *.sp; do 
  sed "s/[^ ]*${f%.*}[^ ]*//" "$f" | column -t
done

出力:

C1  out1    3.9e-12
C2  foo     1.2e-14
C3  foo2    8.3e-14

おすすめ記事