파일의 마지막에서 두 번째 줄 끝에 문자열을 추가합니다.

파일의 마지막에서 두 번째 줄 끝에 문자열을 추가합니다.

마지막 줄 앞 줄에 텍스트를 추가/연결하고 싶습니다. 따라서 내 원본 파일이 다음과 같은 경우:

1 sometext
2 sometext
3 sometext
4 sometext
5 sometext

내 새 파일은

1 sometext
2 sometext
3 sometext
4 sometext newtext
5 sometext

삽입하는 방법을 이미 알고 있습니다.개행 문자그러나 이것은 약간 다른 문제입니다. 새 줄을 삽입하는 것이 아니라 텍스트를 연결하고 싶기 때문입니다.

답변1

파일을 한 줄씩 뒤집고 두 번째 줄에 텍스트를 추가한 다음 파일을 다시 뒤집습니다.

tac file | sed '2s/$/ newtext/' | tac

답변2

정력다음과 같은 주소를 이해하십시오 $-1.

ex -sc '$-1s/$/ newtext/' +wq file

ex그것은 같은vim -e

답변3

$ awk 'NR>1{printf "%s%s", ors, prev; ors=ORS} {prev=$0} END{print OFS "newtext" ORS prev}' file
1 sometext
2 sometext
3 sometext
4 sometext newtext
5 sometext

답변4

줄을 세고 산술적으로 주소를 얻으세요:

sed "$(wc -l infile | awk '{print $1-1}')s/$/ newtext/" infile

관련 정보