기계적 인조 인간

배쉬 : 파일에 추가

클라라오제-액션퍼즐게임

클라라오제-액션퍼즐게임

차례:

Anonim

Bash에는 파일에 텍스트를 추가하는 여러 가지 방법이 있습니다. 이 기사에서는 그중 일부를 설명합니다.

파일에 텍스트를 추가하려면 파일에 대한 쓰기 권한이 있어야합니다. 그렇지 않으면 권한 거부 오류가 발생합니다.

리디렉션 연산자를 사용하여 파일에 추가 ( >> )

리디렉션을 사용하면 명령의 출력을 캡처하여 다른 명령이나 파일에 입력으로 보낼 수 있습니다. >> 리디렉션 연산자는 출력을 지정된 파일에 추가합니다.

텍스트를 표준 출력으로 인쇄하고 파일로 리디렉션하는 데 사용할 수있는 명령이 많이 있으며 echo printf 가 가장 많이 사용됩니다.

파일에 텍스트를 추가하려면 경로 재 지정 연산자 뒤에 파일 이름을 지정하십시오.

echo "this is a new line" >> file.txt

-e 옵션과 함께 사용하면 echo 명령은 줄 바꿈 과 같은 백 슬래시 이스케이프 문자를 해석합니다.

echo -e "this is a new line \nthis is another new line" >> file.txt

보다 복잡한 출력을 생성하려면 출력 형식을 지정할 수있는 printf 명령을 사용하십시오.

printf "Hello, I'm %s.\n" $USER >> file.txt

텍스트를 파일에 추가하는 다른 방법은 Here 문서 (Heredoc)를 사용하는 것입니다. 명령에 여러 줄의 입력을 전달할 수있는 일종의 리디렉션입니다.

예를 들어, 내용을 cat 명령에 전달하고 파일에 추가 할 수 있습니다.

cat«EOF»file.txt 현재 작업중인 디렉토리: $ PWD 다음으로 로그인: $ (whoami) EOF

모든 명령의 출력을 파일에 추가 할 수 있습니다. 다음은 date 명령을 사용한 예입니다.

date +"Year: %Y, Month: %m, Day: %d" >> file.txt

리디렉션을 사용하여 파일을 추가 할 때 > 연산자를 사용하여 중요한 기존 파일을 덮어 쓰지 않도록주의하십시오.

tee 명령을 사용하여 파일에 추가

tee 는 표준 입력에서 읽고 표준 출력과 하나 이상의 파일에 동시에 쓰는 Linux의 명령 줄 유틸리티입니다.

기본적으로 tee 명령은 지정된 파일을 덮어 씁니다. 출력을 파일에 추가하려면 -a ( --append ) 옵션과 함께 tee 사용하십시오.

echo "this is a new line" | tee -a file.txt

echo "this is a new line" | tee -a file.txt >/dev/null

>> 연산자에 비해 tee 명령을 사용하면 tee 를 사용하여 한 번에 여러 파일에 텍스트를 추가하고 sudo 와 함께 다른 사용자가 소유 한 파일에 쓸 수 있습니다.

쓰기 권한이없는 파일에 텍스트를 추가하려면 다음과 같이 tee 앞에 sudo 를 추가하십시오.

echo "this is a new line" | sudo tee -a file.txt

tee echo 명령의 출력을 받고 sudo 권한을 높이고 파일에 씁니다.

둘 이상의 파일에 텍스트를 추가하려면 파일을 tee 명령의 인수로 지정하십시오.

echo "this is a new line" | tee -a file1.txt file2.txt file3.txt

결론

Linux에서 파일에 텍스트를 추가하려면 >> 리디렉션 연산자 또는 tee 명령을 사용하십시오.

bash 터미널