Bash를 사용하여 파일에 텍스트를 추가하는 방법
리디렉션 (>>
) 연산자와tee
명령을 사용하여 파일에 텍스트를 추가 할 수 있습니다.
파일에 텍스트를 추가 할 수있는 충분한 권한이 있는지 확인해야합니다. 권한이 충분하지 않으면 권한 거부 오류가 발생할 수 있습니다.
리디렉션 연산자>>
를 사용하여 파일에 텍스트 추가
리디렉션 연산자>>
는bash
명령에서 출력을 가져 와서 다른 파일에 추가합니다. 텍스트를 표준 출력으로 인쇄하는 방법에는 여러 가지가 있지만echo
및printf
가 가장 많이 사용되는 명령입니다.
파일에 텍스트를 추가하려면 출력 명령 중 하나를 사용하여 텍스트를 인쇄하는 명령을 작성한 다음>>
연산자를 명령에 추가 한 다음 텍스트를 추가해야하는 파일 이름을 추가합니다.
echo "Hello World" >> abc.txt
그러면abc.txt
파일 끝에Hello World
라는 텍스트가 추가됩니다.
파일이 현재 작업 디렉토리에없는 경우 명령은 빈 파일을 만들고 파일에 Hello World
텍스트를 씁니다.
\n
과 같은 이스케이프 시퀀스 문자를 해석하기 위해echo
명령과 함께-e
옵션을 사용합니다.
echo -e "Hello World! \nThis is DelftStack" >> abc.txt
이것은 텍스트를 추가합니다
Hello World!
This is DelftStack
abc.txt
파일에.
텍스트가 추가되었는지 여부를 확인하기 위해cat
명령을 사용하여 파일 내용을 볼 수 있습니다.
cat abc.txt
출력:
Hello World!
This is DelftStack
텍스트가 추가 된 경우 파일 끝에 텍스트가 표시됩니다.
더 많은 형식의 텍스트를 원하면printf
명령을 사용하여 더 많은 형식의 출력을 생성 할 수 있습니다.
printf "The path of shell interpreter is %s\n" $SHELL >> abc.txt
abc.txt
파일에The path of shell interpreter is /bin/bash
라는 텍스트를 추가합니다.
tee
명령을 사용하여 파일에 텍스트 추가
tee
는 표준 입력에서 입력을 받아 하나 이상의 파일과 표준 출력에 동시에 쓰는 명령 줄 유틸리티입니다.
기본적으로tee
명령은 파일의 내용을 덮어 씁니다. 파일 끝에 텍스트를 추가하려면 명령과 함께-a
또는--append
옵션을 사용합니다.
echo "Hello World!" | tee -a abc.txt
출력:
Hello World!
abc.txt
파일에Hello World!
를 추가하고 터미널의 표준 출력에 텍스트를 씁니다.
파일에 텍스트를 추가하는 동안 권한 거부 오류가 발생하면tee
명령 앞에sudo
키워드를 추가 할 수 있습니다.
echo "Hello World!" | sudo tee -a abc.txt
표준 출력을보고 싶지 않다면 출력을/dev/null
로 리디렉션 할 수 있습니다.
echo "Hello World!" | tee -a abc.txt >/dev/null
tee
명령을 사용하는 한 가지 장점은tee
명령을 사용하여 동시에 여러 파일에 텍스트를 쓸 수 있다는 것입니다. 여러 파일에 텍스트를 쓰려면 공백으로 구분 된 모든 파일을 나열하면됩니다.
echo "Hello World!" | sudo tee -a abc.txt backup.txt
abc.txt
와 backup.txt
파일에 동시에 텍스트를 추가합니다.
Suraj Joshi is a backend software engineer at Matrice.ai.
LinkedIn