텍스트 파일의 시작 부분에 한 줄의 텍스트를 추가하려고합니다 (실제로 텍스트는 아니지만 두 개의 백 슬래시). 나는이 대답에서 찾은 다음을 시도하고 있습니다 . 거대한 파일의 시작과 끝에 줄 추가
$ sed -i '1i\'"$\\" $Simdata.txt
그러나 나는 그것을 작동시킬 수없는 것 같습니다. 위를 사용하면 오류가 발생합니다.
sed: 1: ".txt": invalid command code .
txt 종료없이 시도했지만 다음 오류가 발생합니다.
sed: -i may not be used with stdin
나는 또한 다른 곳에서 찾은이 코드 줄을 시도했습니다.
$ sed -i '1i \\' Simdata.txt
sed: 1: "Simdata.txt": invalid command code S
최신 정보:
@don_crissti, 첫 번째 해결책은 내가하고 싶은 것입니다. 그러나 의도 한대로 작동하지 않는 것 같습니다.
$ cat Simdata.txt
abcdefghijkabcdefghijk
//
abcdefghijkabcdefghijk
$ sed '1i\
> \\\\' Simdata.txt
\\abcdefghijkabcdefghijk
//
abcdefghijkabcdefghijk
$ cat Simdata.txt
abcdefghijkabcdefghijk
//
abcdefghijkabcdefghijk
따라서 파일이 업데이트되지 않습니다. 파일을 인쇄하지 않고 파일을 업데이트하거나 새 파일로 인쇄하는 것을 선호합니다. 또한 저는 어리석은 오타를 만들었습니다. 실제로 두 개의 슬래시를 추가하고 싶습니다. 제가 궁극적으로 목표로하는 것은 다음과 같습니다.
다음과 같은 파일이 있습니다.
abcdefghijkabcdefghijk
//
abcdefghijkabcdefghijk
//
abcdefghijkabcdefghijk
먼저 파일 시작 부분에 //를 추가하고 싶습니다.
//
abcdefghijkabcdefghijk
//
abcdefghijkabcdefghijk
//
abcdefghijkabcdefghijk
그런 다음 각 // 뒤에 고유 한 이름을 추가합니다.
// text 1
abcdefghijkabcdefghijk
// text 2
abcdefghijkabcdefghijk
// text 3
abcdefghijkabcdefghijk
원본 파일을 변경하지 않고 새 파일에 저장합니다. 그래서 위의 질문은 첫 번째 단계를 찾는 것을 목표로했습니다.
백 슬래시를 이스케이프해야합니다 (따라서 백 슬래시 네 개는 리터럴 백 슬래시 두 개를 삽입합니다).
sed '1i\
\\\\' my_text_file
또는
sed '1s/^/\\\\\n/' my_text_file
첫 번째 줄은 파일의 시작 부분에 두 개의 백 슬래시를 포함하는 새 줄을 삽입하고 두 번째 줄은 첫 번째 줄 ( ^
) 의 시작 부분을 두 개의 백 슬래시 뒤에 \n
ewline (동일한 결과)이 오는 것으로 대체합니다 .
와 함께 osx sed
:
sed '1s/^/\\\\\'$'\n/' mytextfile
이 기사는 인터넷에서 수집됩니다. 재 인쇄 할 때 출처를 알려주십시오.
침해가 발생한 경우 연락 주시기 바랍니다[email protected] 삭제
몇 마디 만하겠습니다