나는 다음 명령을 사용했습니다.
sort .file1 >.file2 | mv .file2 .file1
그런데 그때는 .file1
텅 비어 있었어요.
왜? 명령이 잘못된 경우 어떻게 복구합니까?
답변1
이 경우 파이프의 첫 번째 부분은 두 번째 부분에 대한 입력을 생성하지 않고 두 번째 부분은 표준 입력에서 아무것도 읽지 않기 때문에 파이프를 갖는 데 실제로 아무런 의미가 없습니다.
대신에 그냥 사용하세요
$ sort -o .file1 .file1
.file1
이렇게 하면 파일이 "제자리에" 정렬됩니다.
파이프라인을 실행하면 쉘이 .file2
빈 파일을 생성하고 mv
시간이 지나면 파이프라인의 모든 부분에서 대체 파일이 동시에 .file1
sort
시작됩니다 ..file1
복원하려면 백업에서 복원하세요.
답변2
너 그거해야 돼 sort .file1 > .file2 && mv .file2 .file1
. |
파이프를 사용하면 What kind of file-system do you have on this .file2
로 이름이 변경된 stdout을 전달하기만 하면 됩니다. 하지만 복구가 불가능할 수도 있다는 점에 유의하세요..file1
/dev/sda1