sed: 행 추가 및 숫자 출력

sed: 행 추가 및 숫자 출력

Linux에서는 5행 앞에 다음 행을 추가한다고 가정합니다(따라서 5행은 6행이 됩니다).그리고"도구"를 통해 sed출력의 모든 줄에 번호를 매기고 싶습니다.=

sed -n '5\Insert this line before line nuber 29' FILE

질문: =이 구조에서 전체 출력의 라인 번호는 어디에 있습니까?

nlwait 는 알지만 자체적으로 이를 위한 도구가 내장되어 cat --number있으므로 도구 상자를 사용하는 것이 좋을 것입니다.sed

고쳐 쓰다:결과는 다음과 같아야 합니다. 각 행에는 숫자가 있고, 위의 행은 다섯 번째 행의 위치에 압착됩니다.

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

두 개의 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

관련 정보