0

「コード」番号に基づいて、UNIX Bashコマンドを使用して.txtファイルの特定の行のみを保持したい:

Name  
Ignore  
2    
1357 1817  
1366 1857  
Name 
Ignore  
3   
293 142  
302 181 
303 181
Name  
Ignore  
7  
1596 1787  
1595 1787  
1594 1787  
1565 1803  
1565 1804  
1565 1805  
1565 1806
Other-name
No-interest
No-interest
No-interest

したがって、「名前」を含む行のみが重要です。「別名」は関係ありません。「名前」に続く 2 番目の行は、「名前」に関係する行数のコードです。しかし、すべてを保持したくはありません。コードのある行に続く最初と最後の行だけです。したがって、コードが 3 の場合、コードのある行の後に行 1 と 3 が必要です。コード i 7 の場合、コードのある行に続いて行 1 と 7 が必要です。元で。出力の上に次のように表示されます。

1357 1817  
1366 1857    
293 142  
303 181
1596 1787    
1565 1806

どうもありがとうございました!

4

1 に答える 1

3

あなたは試すことができます

awk -f ext.awk input.txt

input.txtあなたの入力ファイルはext.awkどこですか?

/^Name/ {
    getline
    getline
    n=$1
    for (i=1; i<=n; i++) {
        getline
        if (i==1 || i==n) print
    }
}
于 2013-11-09T13:06:36.043 に答える