Linuxでは、5行目の前に次の行を追加すると仮定します(したがって5行目は6行目になります)。そして「ツール」を介してsed
出力のすべての行に番号を付けたいです。=
sed -n '5\Insert this line before line nuber 29' FILE
質問:=
この構造では、出力全体の行番号はどこにありますか?
nl
waitは知っていますが、それ自体はそれのためのツールが組み込まれているので、cat --number
ツールボックスを使用することをお勧めします。sed
修正する:結果は次のようになります。各行には数字があり、上記の行は5行目の位置に絞り込まれます。
1 A line
2 Another line
3 as abovr
4 again
5 Insert this line before line nuber 29
6 This originally was line number 5
7 nearing the end
8 last line
ベストアンサー1
以下を使用すると、=
行番号が印刷され、新しい行に行が表示されます。
~$ sed '=' myfile
1
a
2
b
3
c
4
d
5
e
6
f
7
g
8
h
2つのsed呼び出しを使用している場合は、同じ行に印刷できます。
~$ sed '=' myfile | sed '{N;s/\n/ /}'
1 a
2 b
3 c
4 d
5 e
6 f
7 g
8 h
以下を使用して行を再挿入することもできますi \
。
$ sed '5 i\
before 5
' myfile | sed '=' | sed '{N;s/\n/ /}'
1 a
2 b
3 c
4 d
5 before 5
6 e
7 f
8 g
9 h