find -print0처럼 널 문자(NUL, \0, ...)를 사용하여 파일 경로를 분리하고 싶습니다.
나는 bash를 사용하고 있으며 성공하지 못하고 다음을 시도했습니다.
find $1 -print0 > dircontent
cat dircontent | xargs -0 stat --format="%X %Y %Z %f %u %g %i %h \0%n\0%s" > dirstats
"I"처럼 보이지만 null 문자 대신 리터럴 "\" 및 "0"이 있습니다.
답변1
--format
퍼센트 이스케이프만 구문 분석되고 끝에 개행 문자가 추가됩니다. --printf
백슬래시 이스케이프도 구문 분석되며 후행 줄 바꿈은 추가되지 않습니다.
<dircontent xargs -0 stat --printf="%X %Y %Z %f %u %g %i %h \0%n\0%s\0" > dirstats
답변2
나는 그것을 //
구분 기호로 사용하고 sed -in 's/\/\//\x0/g' dirstats
원하는 것을 얻습니다. 나는 여전히 덜 해킹적인 솔루션을 선호합니다.