{
This is test1
this is test2
this is test3
}
이제 echo 명령을 사용하여 마지막 줄 앞에 여러 줄을 추가하고 싶습니다. ! ! !
내 출력은 다음과 같습니다
{
This is test1
this is test2
this is test3
this is test4
this is test5
}
사용에코sed가 아닌 명령 또는 awk 명령
답변1
sed
어떤 이유로든 사용하고 싶지 않다고 하더라도 이 작업을 수행하는 올바른 방법입니다 sed
.
sed 스크립트는 다음과 같습니다
$i\
this is test4\
this is test5
sed -f script.sed file
이 i
명령은 주소가 지정된 줄 앞에 줄을 삽입하고 $
파일의 마지막 줄을 지정합니다 .
GNU를 사용하는 "하나의 라이너"로 sed
:
$ sed -e '$i\' -e ' this is test4\' -e ' this is test5' file
{
This is test1
this is test2
this is test3
this is test4
this is test5
}
파일이 실제로 JSON 파일인지 아니면 다른 구조화된 텍스트 형식인지에 따라 jq
파일 조작에 더 적합한 유사한 도구가 있을 수 있습니다.
요청한 대로 사용하십시오 echo
( 옵션은 일반적으로 음수를 사용하지 않으므로 head
GNU coreutils를 사용한다고 가정합니다).-n
{ head -n -1 file
echo ' this is test4'
echo ' this is test5'
tail -n 1 file; } >newfile
답변2
head
다음을 사용 하여 echo
이를 달성 할 수 있습니다 .
cat <outputfilename> | head -n -1 && echo -e " this is test4\n this is test5\n this is test6\n}"
출력을 파일에 추가하려면 " >
" 출력 리디렉션을 사용하십시오.
(cat <outputfilename> | head -n -1 && echo -e " this is test4\n this is test5\n this is test6\n}") > <RESULTFILENAME>