Bash에서 파일에 쓰기
이 튜토리얼에서는 bash에서 파일을 작성하는 다양한 접근 방식을 살펴볼 것입니다. 요구 사항에 따라 파일을 추가하거나 덮어쓸 수 있습니다. 우리가 어떻게 할 수 있는지 봅시다.
Bash에서 파일을 쓰거나 덮어쓰는 다양한 방법
파일에 출력을 덮어쓰고 추가하는 >
및 >>
와 같은 여러 연산자가 표시됩니다. 또한 단일 및 다중 파일을 덮어쓰고 추가하는 tee
명령을 살펴보겠습니다.
>
연산자를 사용하여 파일 덮어쓰기
>
연산자는 파일을 덮어쓰는 데 사용됩니다. 예를 들어 다음 코드는 파일을 덮어쓰는 데 사용됩니다.
echo "Overwriting in the file" > test.txt
위의 명령은 test.txt
파일이 종료되면 덮어씁니다. 그렇지 않으면 새 항목을 만듭니다. echo
는 텍스트 형식을 지원하지 않기 때문에 일반적으로 사용되지 않습니다.
형식이 지정된 텍스트에는 echo
대신 printf
를 사용합니다. 다음 예는 printf
를 사용하여 파일을 덮어쓰는 것을 보여줍니다.
printf "overwriting using the printf \n now in next line" > test.txt
위의 명령은 문자열의 형식을 지정하고 printf
뒤에 새 줄을 추가합니다.
>>
연산자를 사용하여 파일에 쓰기
>>
연산자는 파일 끝에 내용을 추가하는 데 사용됩니다. 예를 들어, 다음 명령은 test.txt
라는 파일에 데이터를 추가하는 데 사용됩니다.
echo "Append in the file" >> test.txt
vim
명령을 사용하여 파일에 쓰기
vim
편집기는 파일 내용을 편집하는 데에도 사용됩니다. 예를 들어, 다음 코드는 vim
편집기에서 test.sh
파일을 엽니다.
sudo vim test.sh
vim 편집기를 연 후 다음 스크립트를 추가하여 파일 쓰기 작업을 수행합니다.
#! /bin/bash
echo "Enter Student Name"
read yourName
echo $yourName > test.txt
echo "Enter age"
read age
echo $age >> test.txt
cat test.txt
코드를 추가한 후 ESC를 누르고 w를 입력하여 파일을 닫습니다. 이제 bash test.sh
를 사용하여 파일을 실행하십시오.
위의 스크립트는 파일 쓰기에 대한 두 가지 접근 방식을 보여줍니다. 4행에서는 파일을 덮어쓰는 >
연산자를 사용했습니다. 라인 7에서 이전 내용을 덮어쓰지 않고 새 라인에 문자열을 추가하는 >>
연산자를 사용합니다.
tee
명령을 사용하여 파일에 쓰기
파일과 콘솔에 쓰기 작업을 동시에 수행하려면 tee
명령을 사용할 수 있습니다. 동시에 입력을 받아 파일과 콘솔에 문자열을 씁니다.
tee
명령을 사용하면 콘솔에서 파일에 기록되는 내용을 볼 수 있습니다. tee
명령은 파일을 덮어쓰고 추가하는 데에도 사용됩니다.
tee
명령을 사용하여 파일 덮어쓰기
다음 명령은 tee
명령을 사용하여 덮어쓰기에 사용됩니다.
echo "Testing the Tee Command" | tee test.txt
위의 명령은 파이프(|
)에서 문자열 입력을 가져와 콘솔과 파일에 동시에 씁니다.
tee
명령을 사용하여 파일에 추가
-a
플래그는 파일을 추가하기 위해 tee
명령과 함께 사용됩니다. 예를 들어, 다음 코드는 Testing the Tee Command
를 test.txt
파일에 추가합니다.
echo "Testing the Tee Command" | tee -a test.txt
때로는 여러 파일에 동시에 내용을 작성해야 할 수도 있습니다. 단일 공백으로 구분된 모든 파일의 이름을 지정하여 이를 달성하기 위해 tee
명령을 사용할 수 있습니다.
다음 bash 명령은 콘텐츠를 여러 파일에 쓰는 방법을 보여줍니다.
echo "Writing text to the multiple files" | tee test1.txt test2.txt test3.txt
위의 명령은 콘솔에 입력 문자열과 세 개의 텍스트 파일을 동시에 씁니다.