그래서 어떤 이유로 내가 다음과 같은 일을 할 때
find $PWD -type f > listoffiles.txt
현재 디렉터리에 파일 목록을 생성하고 목록에 저장하려면 해당 파일"목록 file.txt"그것은 그 자체로 어떻게든 포함되어 있는데, 이는 파이프의 STDOUT 이전에 인스턴스화되었음을 알려줍니다. 도대체 어떻게 하면 이런 일이 일어나지 않게 할 수 있을까?
답변1
MoreUtils를 사용할 수 있습니다 sponge
.
find . -type f | sponge listoffiles.txt
관련된:
답변2
find가 실행되기 전에 출력 파일이 생성됩니다. 예를 들어 다음과 같이 다른 곳에서 만들 수 있습니다.
$ find $PWD -type f > /tmp/listoffiles.txt
아니면 grep
사라집니다:
$ find $PWD -type f | grep -v "^..listoffiles.txt" > /tmp/listoffiles.txt
또는 find
무시하도록 요청하십시오.
$ find $PWD -type f -not -name listoffiles.txt > /tmp/listoffiles.txt