텍스트 파일에서 해당 줄을 제거하는 동안 입력 텍스트 파일의 첫 번째 줄을 얻는 방법은 무엇입니까?
/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