텍스트 파일 끝에 출력을 추가하는 방법
텍스트 파일 끝에 명령 출력을 어떻게 추가합니까?
출력을 파일 >>
로 >
보낼 때 대신 사용하십시오 .
your_command >> file_to_append_to
file_to_append_to
존재하지 않는 경우 작성됩니다.
예:
$ echo "hello" > file
$ echo "world" >> file
$ cat file
hello
world
>> 연산자를 사용할 수 있습니다. 이것은 명령에서 텍스트 파일의 끝에 데이터를 추가합니다.
이를 테스트하려면 다음을 실행하십시오.
echo "Hi this is a test" >> textfile.txt
이 작업을 몇 번 수행 한 다음 실행하십시오.
cat textfile.txt
textfile.txt 파일에 텍스트가 여러 번 추가 된 것을 볼 수 있습니다.
에 append
파일 사용>>
echo "hello world" >> read.txt cat read.txt echo "hello siva" >> read.txt cat read.txt
출력은
hello world # from 1st echo command hello world # from 2nd echo command hello siva
에 overwrite
파일 사용>
echo "hello tom" > read.txt cat read.txt
그런 다음 출력은
hello tom
사용이 command >> file_to_append_to
파일에 추가합니다.
예를 들어 echo "Hello" >> testFile.txt
주의 : 하나만 사용 >
하면 파일의 내용을 완전히 덮어 씁니다. 지금까지 발생하지 않도록하기 위해, 당신은 추가 할 수 있습니다 set -o noclobber
당신에게 .bashrc
.
따라서 실수로 command > file_to_append_to
기존 파일을 입력 하면 파일이 이미 존재한다는 경고 메시지가 표시됩니다. 샘플 오류 메시지 :file exists: testFile.txt
따라서 사용 >
하면 기존 파일을 덮어 쓰지 않고 새 파일 만 만들 수 있습니다.
>>
연산자를 사용하여 파일에 텍스트를 추가하십시오.
전체 질문에 대해 :
cmd >> o.txt && [[ $(wc -l <o.txt) -eq 720 ]] && mv o.txt $(date +%F).o.txt
그러면 o.txt에 720 줄 (30 * 24)이 추가되고 이후에는 현재 날짜를 기준으로 파일 이름이 바뀝니다.
매시간마다 cron으로 위를 실행하십시오. 또는
while :
do
cmd >> o.txt && [[ $(wc -l <o.txt) -eq 720 ]] && mv o.txt $(date +%F).o.txt
sleep 3600
done
두 가지 일을 제안합니다.
>>
쉘 스크립트에서 사용 하여 특정 파일에 내용을 추가하십시오. 파일 이름은 고정되거나 일부 패턴을 사용할 수 있습니다.- 쉘 스크립트를 트리거하도록 매시간 cronjob을 설정하십시오.
예를 들어 파일에 다음이 포함되어 있습니다.
1. mangesh@001:~$ cat output.txt
1
2
EOF
파일 끝에 추가하려는 경우 ----> 'text'>> 'filename'사이의 공백을 기억하십시오.
2. mangesh@001:~$ echo somthing to append >> output.txt|cat output.txt
1
2
EOF
somthing to append
그리고 파일의 내용을 덮어 쓰려면 :
3. mangesh@001:~$ echo 'somthing new to write' > output.tx|cat output.tx
somthing new to write
-a (-append) 옵션과 함께 tee 를 사용하면 한 번에 여러 파일을 추가하고 sudo 를 사용할 수 있습니다 (보호 된 파일에 추가 할 때 매우 유용함). 게다가 모든 쉘이> 및 >> 연산자를 지원하지는 않기 때문에 bash 이외의 다른 쉘을 사용해야하는 경우 흥미 롭습니다.
echo "hello world" | sudo tee -a output.txt
이 스레드 는 티에 대한 좋은 답변 이 있습니다
더 안정적 이며 개행과 같은 형식을 \n
올바르게 처리 하기 때문에 echo 대신 printf를 사용 합니다.
이 예제는 이전 예제에서 echo와 유사한 출력을 생성합니다.
printf "hello world" >> read.txt
cat read.txt
hello world
그러나이 예제에서 printf를 echo로 바꾸면 echo는 \ n을 문자열로 취급하므로 의도를 무시합니다.
printf "hello\nworld" >> read.txt
cat read.txt
hello
world
참고 URL : https://stackoverflow.com/questions/6207573/how-to-append-output-to-the-end-of-a-text-file
'Programing' 카테고리의 다른 글
컴퓨터 과학에서 NP-complete 란 무엇입니까? (0) | 2020.02.22 |
---|---|
CSS를 통해 PNG 이미지의 색상을 변경 하시겠습니까? (0) | 2020.02.22 |
SQL의 인덱스 란 무엇입니까? (0) | 2020.02.22 |
SQL Management Studio에서 다른 포트 번호를 어떻게 지정합니까? (0) | 2020.02.22 |
@Transactional Spring-격리, 전파 (0) | 2020.02.22 |