これは私のサンプルファイルです。
user@linux:~$ cat file.txt
Line 1
Line 2
Line 3
Line 4
Line 5
user@linux:~$
2〜4行を印刷できます。grep -A2 'e 2' file.txt
user@linux:~$ grep -A2 'e 2' file.txt
Line 2
Line 3
Line 4
user@linux:~$
旅行番号も印刷できます。grep -n
user@linux:~$ grep -nA2 'e 2' file.txt
2:Line 2
3-Line 3
4-Line 4
user@linux:~$
または、次の方法で同じことを実行できます。sed -n 2,4p file.txt
user@linux:~$ sed -n 2,4p file.txt
Line 2
Line 3
Line 4
user@linux:~$
しかし、行番号を出力する方法がわかりません。sed
行番号を印刷できますかsed
?
ベストアンサー1
AWK:
awk 'NR==2,NR==4{print NR" "$0}' file.txt
ダブルsed:
sed '2,4!d;=' file.txt | sed 'N;s/\n/ /'
グレンジャックマン~のsedそして生地:
sed '2,4!d;=' file.txt | paste -d: - -
バート~の真珠バージョン:
perl -ne 'print "$. $_" if 2..4' file.txt
猫そしてsed:
cat -n file.txt | sed -n '2,4p'
これも見てください回答エマルジョン。
少し説明する:
sed -n '2,4p'
同じことを行いますsed '2,4!d'
。 1 つ目は 2 番目と 4 番目(含む)の間の行だけを印刷し、後者はその行を除くすべての行を「削除」します。sed =
行番号の印刷その後に改行文字が続きます。。より手動。cat -n
最後の例では、またはnl
で置き換えることができますgrep -n ''
。