파일에 쓰지만 파일이 있는 경우 덮어씁니다.
echo "text" >> 'Users/Name/Desktop/TheAccount.txt'
파일이 없는 경우 파일을 생성하지만 이미 있는 경우 덮어쓰도록 하려면 어떻게 해야 합니까?지금은 이 스크립트가 나타납니다.
그>>
리디렉션 연산자는 지정된 파일의 끝에 줄을 추가합니다. 여기서 단일은 다음보다 큽니다.>
파일을 비우고 덮어씁니다.
echo "text" > 'Users/Name/Desktop/TheAccount.txt'
바시에서 클로버 ala를 설정하지 않은 경우set -o noclobber
그런 다음 구문을 사용합니다.>|
예:
echo "some text" >| existing_file
파일이 아직 존재하지 않는 경우에도 작동합니다.
다음으로 설정된 클로버가 없는지 확인합니다.
set -o | grep noclobber
이 특별한 유형의 운영자에 대한 자세한 설명은 이 게시물을 참조하십시오.
리디렉션 연산자에 대한 자세한 목록은 이 게시물을 참조하십시오.
의 대답에도 불구하고, 그것은 "일종의" 정확합니다.이런 식으로 파일을 덮어쓸 수 없었습니다.
echo "i know about Pipes, girlfriend" > thatAnswer
zsh: file exists: thatAnswer
내 문제를 해결하기 위해..나는... >!
알라..
[[ $FORCE_IT == 'YES' ]] && echo "$@" >! "$X" || echo "$@" > "$X"
분명히, 조심해요...
사용자 환경에서 을(를) 덮어쓸 수 없는 경우>
파이프를 사용합니다.|
그리고.tee
대신 다음과 같이 입력합니다.
echo "text" | tee 'Users/Name/Desktop/TheAccount.txt'
이것도 stdout에 인쇄됩니다.원하지 않는 경우 출력을 다음으로 리디렉션할 수 있습니다./dev/null
다음과 같이:
echo "text" | tee 'Users/Name/Desktop/TheAccount.txt' > /dev/null
#!/bin/bash
cat <<EOF > SampleFile
Put Some text here
Put some text here
Put some text here
EOF
클로버가 설정되지 않은 상태에서 stderr과 stdout을 모두 파일로 리디렉션하려는 경우(즉,set -o noclobber
), 다음 코드를 사용할 수 있습니다.
cmd >| file.txt 2>&1
이에 대한 자세한 내용은 https://stackoverflow.com/a/876242 에서 확인할 수 있습니다.
또한 이 답변은 위에서 제공한 답변 @BrDaHa에 대한 @TuBui의 질문으로 18년 8월 9일 9시 34분에 작성되었습니다.
한 파일의 내용을 다른 파일로 덮어쓰려면 하나 이상의 기호를 사용합니다. 두 개를 사용하면 추가됩니다.
echo "this is foo" > foobar.txt
cat foobar.txt
> this is foo
echo "this is bar" > foobar.txt
cat foobar.txt
> this is bar
echo "this is foo, again" >> foobar.txt
cat foobar.txt
> this is bar
> this is foo, again
다른 답변에서 언급했듯이, 만약 당신이noclobber
를 설정한 다음 사용합니다.>|
교환입니다.
텍스트가 다음과 같은 명령의 출력인 경우ls
사용할 수 있습니다.cat
.
노브를 설정한 경우:
ls | cat>| TheAccount.txt
그렇지 않으면 강제 삭제(파일 존재 여부에 관계없이)와ls
명령:
file=TheAccount.txt && rm -f $file && ls | cat > $file
출력에 오류가 있을 수 있는 경우 다음과 같이 앰퍼샌드 이상을 사용할 수 있습니다.
my_task &> 'Users/Name/Desktop/task_output.log'
이렇게 하면 stderr 및 stdout이 모두 로그 파일로 리디렉션됩니다(stdout 대신).
언급URL : https://stackoverflow.com/questions/4676459/write-to-file-but-overwrite-it-if-it-exists
'programing' 카테고리의 다른 글
날짜 시간.yyyy-dd-MM 형식의 날짜로 구문 분석을 시도합니다. (0) | 2023.05.18 |
---|---|
WPF 셸 통합 라이브러리를 사용하여 최대화할 경우 창이 화면 밖으로 이동합니다. (0) | 2023.05.18 |
엑셀에서 두 날짜 타임스탬프의 시간과 분의 차이를 얻는 방법은 무엇입니까? (0) | 2023.05.18 |
데이터베이스를 호출하는 방법 및 위치.작성 및 데이터베이스를 확인합니다.이주? (0) | 2023.05.18 |
목록에서 여러 요소 삭제 (0) | 2023.05.18 |