ed(라인 편집기)에서 편집할 새 파일을 만드는 방법은 무엇입니까?

ed(라인 편집기)에서 편집할 새 파일을 만드는 방법은 무엇입니까?

표준 줄 편집기에서 편집하기 위해 새 파일을 열 수 없습니다. 그러나 기존 파일을 열 수는 있습니다.

다음은 내가 받은 오류의 스크린샷입니다.

내가 언급하고 있는 사용자 가이드에서는 ed가 '?barney', 즉 ?[new_file_name];을 반환해야 한다고 나와 있지만 제 경우에는 기존 파일을 검색합니다.

답변1

그냥 w적어보세요. ed쓰기용 파일이 생성됩니다.

$ ed fred
fred: No such file or directory
w
0

?
q
$ ls fred
fred

답변2

당신이 읽고 있는 텍스트는 아마도 에 대한 것입니다 ed. 진단 출력은 모든 편집기 구현에서 부분적으로만 일관됩니다. 사용 중인 편집기는 현재 구현이 예상하는 대로 작동합니다. 즉, barney찾을 수 없다는 간단한 진단 메시지를 출력하고 "명령 모드"로 전환합니다. 진단 메시지에 대한 자세한 정보 외에도설명하다, 귀하의 텍스트와 동일합니다.


편집자에게는 ed"기본 파일 이름"이라는 개념이 있습니다. 다음을 사용하여 편집기 ed barney를 시작할 때 파일이 존재하지 않으면 생성됩니다.barneyw

위와 질문에 표시된 대로 명령줄에서 기본 파일 이름을 설정할 수 있지만 명령을 사용하여 설정할 수도 있습니다 f. 인수가 없으면 이 f명령은 기본 파일 이름을 터미널에 인쇄합니다.

$ ed -p '*' myfile
myfile: No such file or directory
*f
myfile
*f my-other-file
my-other-file
*w
0
*q
$ ls -l my-other-file
-rw-r--r--  1 myself  myself  0 Nov 17 11:41 my-other-file

기본 파일 이름이 없는 경우(파일 이름을 지정하지 않고 편집기를 시작한 경우) f somename파일에 쓰기를 사용하기 전에 기본 파일 이름을 설정 해야 w하거나 파일 이름을 w인수로 제공할 수 있습니다. w기본 파일 이름이 설정되지 않은 경우 filename 매개변수와 함께 사용하면 기본 파일 이름이 해당 이름으로 설정됩니다.

w myfile여기에서 기본 파일 이름을 변경하세요.

$ ed -p '*'
*w
?
*w myfile
0
*f
myfile
*q

w bar-file하다아니요여기에서 기본 파일 이름을 변경합니다(명령줄에 이미 설정되어 있으므로).

$ ed -p '*' foo-file
foo-file: No such file or directory
*w bar-file
0
*f
foo-file
*q

관련 정보