텍스트 파일 끝에 출력을 추가하는 방법
텍스트 파일 끝에 명령 출력을 추가하려면 어떻게 해야 합니까?
사용하다>>
대신>
출력을 파일로 전송할 때:
your_command >> file_to_append_to
한다면file_to_append_to
존재하지 않습니다.생성됩니다.
예:
$ echo "hello" > file
$ echo "world" >> file
$ cat file
hello
world
로.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
>> 연산자를 사용할 수 있습니다.명령어의 데이터를 텍스트 파일의 끝에 추가합니다.
테스트하려면 실행해 보십시오.
echo "Hi this is a test" >> textfile.txt
이 작업을 여러 번 수행한 후 다음을 실행합니다.
cat textfile.txt
텍스트 파일에 텍스트가 여러 번 추가되었음을 확인할 수 있습니다.txt 파일.
사용하다command >> file_to_append_to
파일에 추가할 수 있습니다.
예를들면echo "Hello" >> testFile.txt
주의: 1개만 사용하는 경우>
파일의 내용을 덮어씁니다.이러한 일이 발생하지 않도록 하기 위해set -o noclobber
고객님께.bashrc
.
이렇게 하면 실수로 입력했을 때command > file_to_append_to
파일이 이미 존재함을 경고합니다.오류 메시지 예시:file exists: testFile.txt
따라서,>
기존 파일을 덮어쓰지 않고 새 파일만 만들 수 있습니다.
옵션 -a(--append)와 함께 tee를 사용하면 한 번에 여러 파일에 추가할 수 있으며 sudo도 사용할 수 있습니다(보호된 파일에 추가할 때 매우 유용합니다).또한 모든 셸이 > 및 >> 연산자를 지원하는 것은 아니기 때문에 bash 이외의 다른 셸을 사용할 필요가 있는 경우에는 흥미롭습니다.
echo "hello world" | sudo tee -a output.txt
이 나사산은 티에 대한 좋은 답을 가지고 있습니다.
를 사용합니다.>>
파일에 텍스트를 추가하는 연산자.
나는 종종 둘을 혼동한다.출력을 통해 기억하는 것이 좋습니다.
덮어쓰기용 >
$ touch someFile.txt
$ echo ">" > someFile.txt
$ cat someFile.txt
>
$ echo ">" > someFile.txt
$ cat someFile.txt
>
>> 추가용
$ echo ">" > someFile.txt
$ cat someFile.txt
>
$ echo ">" >> someFile.txt
$ cat someFile.txt
>>
모든 질문에 대해:
cmd >> o.txt && [[ $(wc -l <o.txt) -eq 720 ]] && mv o.txt $(date +%F).o.txt
그러면 720줄(30*24)이 otxt에 추가되고 이후는 현재 날짜에 따라 파일 이름이 변경됩니다.
cron을 사용하여 1시간마다 위의 작업을 수행합니다.
while :
do
cmd >> o.txt && [[ $(wc -l <o.txt) -eq 720 ]] && mv o.txt $(date +%F).o.txt
sleep 3600
done
echo 대신 printf를 사용하는 것은 신뢰성이 높고 새로운 라인 등의 포맷 처리를 하기 때문입니다.\n
적절히.
다음 예에서는 앞의 예에서 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
두 가지 방법을 제안합니다.
- 사용하다
>>
셸 스크립트에서 특정 파일에 내용을 추가합니다.파일명은 고정하거나 패턴을 사용하여 변경할 수 있습니다. - 셸 스크립트를 트리거하도록 매시간 cronjob 설정
에는 다음과 같은 것이 있습니다.
1. mangesh@001:~$ cat output.txt
1
2
EOF
파일 끝에 추가할 경우 ----> 'text' > 'text' 사이의 공백을 기억하십시오.
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
를 사용할 수 .cat
을 다른
cat fileName_1.txt >> fileName_2.txt
에서는 '하다'의 을 덧붙입니다.fileName_1.txt
로로 합니다.fileName_2.txt
.
에서는, OS 「」를 사용할 수 .type
type fileName_1.txt >> fileName_2.txt
다음 gif 이미지를 참조하십시오.
, 「」가 붙은 되는 것은 정확합니다.>>
이 방법은 일반적으로 파일을 해석/처리할 때 루프에서 사용하고 각 행을 파일에 추가하는 경우 예상보다 훨씬 느릴 수 있습니다.
더 빠른 방법은 다음과 같습니다.
stringBuilder=""
while read -r line; do
# $'\n' prints a newline so we don't have to know what special chars the string contains
stringBuilder+="$line"$'\n'
done < "myFile.txt"
echo "$stringBuilder" > $file
경고: 모든 행을 메모리로 읽고 있습니다.메모리는 한정된 자원이기 때문에 대용량 파일에는 이 작업을 수행하지 마십시오.
언급URL : https://stackoverflow.com/questions/6207573/how-to-append-output-to-the-end-of-a-text-file
'code' 카테고리의 다른 글
iOS에서 Objective-C의 유형 (0) | 2023.04.23 |
---|---|
iOS 7에서 내비게이션 바 색상을 변경하는 방법 (0) | 2023.04.23 |
iPhone Core Data Unresolved 오류 저장 중 (0) | 2023.04.18 |
같은 컴퓨터에 여러 개의 GitHub 계정이 있습니까? (0) | 2023.04.18 |
WPF 응용 프로그램에서 클래스 라이브러리에 XAML 컨트롤을 복사한 후의 문제 (0) | 2023.04.18 |