에코에 입력되는 텍스트 양에 제한이 있나요?

에코에 입력되는 텍스트 양에 제한이 있나요?

나는 ~하려고 노력하고있다

echo "foo
foo
foo
....[many many lines of foo here]
foo" > "/Users/myname/destination.txt"

Applescript를 통해 foo 행이 특정 문자 수(255392자처럼 보임)에 도달하면 오류를 반환합니다.

"Applescript를 통해"라는 말은 프로세스를 중지하고 종료 상태가 0이 아닐 때 반환하는 AppleScript의 "do shell script"를 사용하려고 한다는 의미입니다."error "The command exited with a non-zero status." number 255

이것은 내 Applescript 코드입니다.

set mytext to "foo
foo
foo
....[many many lines of foo here]
foo"

do shell script ("echo " & quoted form of mytext & " > " & "/Users/myname/destination.txt")

입력에 사용하는 실제 큰 텍스트 데이터(20000줄 이상, 285831자)에는 따옴표와 백슬래시가 많이 포함되어 있으며 텍스트 데이터를 터미널에 직접 입력하여 파일을 복잡하게 만들고 일부를 잘못 해석하게 하고 싶지 않습니다. 내가 가지고 있는 것 중 입력 텍스트 데이터의 일부가 명령이나 파일 이름으로 제공되므로 bash를 사용하여 직접 확인하지 않았습니다.

이것은 아마도 Applescript 문제에 더 가깝지만 여기에서 더 빠른 답변을 얻을 수 있을 것이라고 생각하여 여기에 게시하겠습니다.

에코에 입력할 수 있는 문자 수에 제한이 있나요? 이것을 어떻게 피할 수 있습니까?

편집: 이것을 쉘 스크립트로 작성하고 터미널에서 실행하면 작동했지만 Applescript를 통해 이 작업을 수행하고 싶은데 왜 이것이 Applescript에서 작동하지 않는지 모르겠습니다.

#!/bin/bash

echo "aaaaaaa[100000+ "a"s in here]aaaa" > "/Users/myname/destination.txt"

답변1

큰 텍스트 파일에 텍스트를 추가하려면 다음 중 하나를 시도해 보십시오. (이것은 쉘 명령입니다. 저는 applescript를 전혀 이해하지 못합니다.)

echo "new text" > newfile
cat oldfile >> newfile
mv newfile oldfile

아마도 이것이 가장 쉬운 방법일 것입니다.

ex이는 내부 파일 편집을 위한 매우 고급 방법입니다 .

printf '%s\n' '0i' "Text to prepend" "Another line of text to prepend" . x | ex myfile

그러나 귀하의 편집 내용에 따르면 셸에서 인용이 어떻게 작동하는지 이해가 부족한 것 같습니다.

관련 정보