Binary

如何格式化 stat 的輸出以包含空字元?

  • November 20, 2013

我想通過使用空字元(NUL、\0、…)來分隔文件路徑,就像 find -print0 一樣。

我正在使用 bash,但我嘗試了以下操作但沒有成功:

find $1 -print0 > dircontent
cat dircontent | xargs -0 stat --format="%X %Y %Z %f %u %g %i %h \0%n\0%s" > dirstats

好像我’,得到一個文字’'和一個'0’而不是一個空字元。

--format僅解析百分比轉義並在末尾添加換行符。--printf還解析反斜杠轉義並且不添加尾隨換行符。

<dircontent xargs -0 stat --printf="%X %Y %Z %f %u %g %i %h \0%n\0%s\0" > dirstats

我用作//分隔符,然後sed -in 's/\/\//\x0/g' dirstats得到我想要的。我仍然更喜歡不那麼駭人聽聞的解決方案。

引用自:https://unix.stackexchange.com/questions/101889