텍스트 파일에 나열된 파일과 해당 경로를 대화형으로 삭제하려고 합니다.
내가 시도하는 명령은 다음과 같습니다
xargs rm -i <filelist.txt
내가 얻는 오류는 다음과 같습니다.
rm cannot remove 'directory1/directory2/filename.extension\r': No such file or directory.
파일 이름 끝에 추가된 표현에 문제가 있는 것 같지만 \r
그것이 무엇을 의미하는지 전혀 모릅니다.
나는 또한 다음을 시도했습니다.
xargs -rd '\n' --arg-file=filelist.txt rm -i --
결과는 똑같습니다.
filelist.txt
파일은 현재 디렉터리의 directory1/directory2/filename.extension
위치 형식으로 나열됩니다.directory1
답변1
파일 목록은 CRLF
표준이 아닌 줄 끝을 사용하므로 오류 메시지가 LF
나타납니다 . \r
노력하다:
xargs -rd '\n' --arg-file=<(<filelist.txt tr -d '\r') rm -i --
(쉘에 프로세스 교체(예: ksh, bash 또는 zsh)가 있다고 가정합니다.)