sed의 출력을 파일에 추가

sed의 출력을 파일에 추가

file1와 . 라는 두 개의 스크립트 파일이 있습니다 file2. 의 내용을 수정하지 않고 문자를 in 으로 file1변경 하고 출력을 추가하고 싶습니다 . 나는 다음을 시도하고 있습니다 :aAfile1file2file1

sed -i ‘s/a/A/g’ file1 >> file2

하지만 이것은 단지 를 in a으로 변경합니다 .Afile1

답변1

플래그 를 제거하면 됩니다 -i.

sed 's/a/A/g' file1 >> file2

플래그 -i는 지정된 파일을 제자리에서 편집하는 데 사용되므로 file1. 에서man sed:

-i[SUFFIX], --in-place[=SUFFIX]

       edit files in place (makes backup if SUFFIX supplied)

file2사용할 때 아무것도 추가되지 않는 이유는 지정된 파일에 추가하는 데 사용되기 -i때문입니다 . 그러나 은 으로 인해 제자리에서 편집되므로 출력이 생성되지 않으므로 에 아무 것도 추가되지 않습니다 .>>stdoutfile1-ifile2

관련 정보