텍스트 파일에서 해당 줄을 제거하는 동안 입력 텍스트 파일의 첫 번째 줄을 얻는 방법

텍스트 파일에서 해당 줄을 제거하는 동안 입력 텍스트 파일의 첫 번째 줄을 얻는 방법

텍스트 파일에서 해당 줄을 제거하는 동안 입력 텍스트 파일의 첫 번째 줄을 얻는 방법은 무엇입니까?

/myPathToTheFile.txt이런 텍스트 파일이 있다면

► put returns between paragraphs
► for linebreak add 2 spaces at end
► _italic_ or **bold**

이 줄을 출력으로 원합니다

► put returns between paragraphs

내 텍스트 파일은 이제 다음과 같아야합니다

► for linebreak add 2 spaces at end
► _italic_ or **bold*

답변1

ex -s /myPathToTheFile.txt <<\EX
1p
1d
wq
EX

또는

ex -s /myPathToTheFile.txt <<< 1p$'\n'1d$'\n'wq

또는 입력을 줄이세요.

ed -s /myPathToTheFile.txt <<< $'1\nd\nwq'

답변2

적어도 GNU sed의 경우:

$ cat file
► put returns between paragraphs
► for linebreak add 2 spaces at end
► _italic_ or **bold**

$ sed -i '1{
w /dev/stdout
d}' file
► put returns between paragraphs

$ cat file
► for linebreak add 2 spaces at end
► _italic_ or **bold**

이는 GNU sed를 사용하여 한 줄의 코드로 작성할 수 있습니다.

sed -i -e '1 {w /dev/stdout' -e 'd}' file

답변3

쉘 스크립트를 요청한다고 가정하면 다음과 같이 요청한 작업이 수행됩니다.

NAME=$1
head -n 1 $NAME
sed -i '1d' $NAME

답변4

head, tail및 다음을 사용할 수 있습니다 mv.

첫 번째 줄을 표시합니다.

head -1 myPathToTheFile.txt

마지막 ( +2) 줄을 유지하십시오.

tail -n +2 myPathToTheFile.txt > file.tmp && mv file.tmp myPathToTheFile.txt

관련 정보