2017-08-03 2 views
0

私はawk 'NR==10' < 1.txtを使って10行目のテキストファイルを印刷することができます。awkやsedを使って2行を隣り合わせに印刷するには?

私はそれをフォーマットするにはどうすればよいが好き::両方で

10行目:: 14行目

11行目:: 15ライン

16行目:: 18行

Iamは、快適なawkかsedのどちらかの方法。助けてください ?

+1

10、11および16の背後にあるロジックは何ですか? – anubhava

+1

良い質問には、少数のサンプルデータ、その入力からの予想される出力、現在のコード/出力/エラーメッセージ、および動作しない理由についてのあなたの考えがあります。また、code/data/errorの各行の先頭に4つのスペースを使用するか、テキストブロックをハイライト表示し、エディットボックスの左上にある '{}'フォーマットツールを使用してコード/データ/出力としてフォーマットします。 http://stackoverflow.com/help/how-to-ask、http://stackoverflow.com/help/dont-ask、http://stackoverflow.com/help/mcveを読んでください。多分http:///stackoverflow.com/tour。がんばろう。 – shellter

+0

ロジックはありません@anubhava実際に問題は、その行の5,6,7,8行目と10,11,12,13行を印刷することでした – mcjoshi

答えて

2

あなたは、このようawkを使用することができます。

ファイルはこれです
awk 'NR ~ /^1[016]$/{a[NR]=$0} NR==14||NR==15{print a[NR-4] " : " $0} 
    NR==18{print a[NR-2] " : " $0}' file 

Line 10 : Line 14 
Line 11 : Line 15 
Line 16 : Line 18 

cat file 

Line 1 
Line 2 
Line 3 
Line 4 
Line 5 
Line 6 
Line 7 
Line 8 
Line 9 
Line 10 
Line 11 
Line 12 
Line 13 
Line 14 
Line 15 
Line 16 
Line 17 
Line 18 
Line 19 
Line 20 
+0

それは私の問題を解決しません。フォーマットには問題があります。 – mcjoshi

関連する問題