2 つのテキスト ファイルがあります。text-file-1 には文字列が含まれています (1 行に 1 つの文字列)。
C 010
C 020
C 024
.
.
.
テキスト ファイル 2 には、次の形式のデータが含まれています。
C 005 Carbon
D Carbon 1
D Carbon 2
D Carbon 3
D Carbon 4
C 010 Hydrogen
D Hydrogen 1
D Hydrogen 2
C 017 Oxygen
D Oxygen 1
C 020 Nitrogen
D Nitrogen 1
D Nitrogen 2
D Nitrogen 3
C 024 Sulphur
D Sulphur 1
D Sulphur 2
.
.
.
Text-file-1 には 30 行が含まれていますが、Text-file-2 には膨大なデータが含まれており、前述の形式と同じです。次のコマンドを使用して、Text-file-1 で見つかった Text-file-2 のテキストを grep できます。
awk 'NR==FNR { A[$2]=1; next }; A[$2]' Text-file-1 Text-file-2 > filename
このスクリプトの出力
C 010 Hydrogen
C 020 Nitrogen
C 024 Sulphur
.
.
.
私の望ましい出力は次のとおりです。
C 010 Hydrogen
D Hydrogen 1
D Hydrogen 2
C 020 Nitrogen
D Nitrogen 1
D Nitrogen 2
D Nitrogen 3
C 024 Sulphur
D Sulphur 1
D Sulphur 2
.
.
.
ここで、このコマンドの拡張機能が必要です。これにより、この行を含め、この行以降のすべての行 (「D」で始まる) を出力できます。Text-file-2 のすべての行は文字 (C または D) で始まっています。この手紙は私には役に立たないが、私は取っておいた. 親切に助けてください。