출력 파일을 생성하는 외부 프로그램이 있습니다 (약 20K 줄 가능).
기존 줄 1과 줄 2 사이에 새 줄을 삽입해야합니다. awk와 sed를 살펴 봤습니다. 각 줄마다 하나의 라이너를 사용하지만 올바른 스위치를 만들 수 없었습니다. 이 작업을 수행.
답변
awk 'NR==1{print; print "new line"} NR!=1'
답변
구체적인 경우에는이 방법이 더 간단해야합니다.
sed '1 { P ; x }' your-file
설명 : 1 행 에서 다음을 수행하십시오.
- P는 선을 RINT
- E x 패턴 공간을 유지 공간으로 변경 (기본적으로 버퍼 비우기)
그런 다음 사이클의 일부로 라인 (지금 비어 있음)이 다시 인쇄됩니다.
줄 바꿈 문자 대신 새 줄 을 추가하려면 (처음 이해 한 것) 다음 명령을 사용하십시오 (추가).sed
a\
sed '1 a\
appended line' your-file
또는
sed '1 aappended line' your-file
appended line
1 행 다음 에 ” “를 추가 합니다.
답변
나는 추측 sed
방법은 다음과 같습니다
sed '2 i whatever_line_of_text_you_wanted_to_INSERT' filename.txt
그러면 텍스트가 파일의 두 번째 줄로 들어가고 파일에서 실제 두 번째 줄이 세 번째 줄이됩니다.
사용하여, 그 주 추가 모드를 가 될이 있다면, 그것은 줄 번호가 언급 한 후 APPEND가 발생하기 때문에, 첫 번째 라인을 사용했다.
sed '1 a whatever_line_of_text_you_wanted_to_INSERT' filename.txt
답변
답변
이것은 당신을 위해 일할 수 있습니다 :
sed 1G file
something
줄 바꿈 뒤에 삽입하려면 다음을 수행하십시오.
sed '1{G;s/$/something/}' file
또는 핸들을 sed 한 경우 \n
:
sed '1s/$/\nsomething/' file
물론 a
더 쉽다 :
sed '1a something' file
답변
나는 보통 ed
이것을 위해 사용 합니다 :
(echo 1a; echo 'Line to insert'; echo .; echo w) | ed - filename
A와 유사 sed
솔루션,하지만 탈출 줄 바꿈의 혼란없이.
답변
파이썬 솔루션
python -c "import sys; lines = sys.stdin.readlines(); lines.insert(1,'New Line\n'); print ''.join(lines).strip()" < input.txt