Find

cygwin find -ls 行為,如 ls

  • November 19, 2014

我使用帶有 -ls ( find . -ls) 選項的 cygwin find 來獲得具有完整路徑的文件列表。

由於 UTF-16(在這種情況下為 Windows XP)在 cygwin 下轉換為 en_UTF-8,特殊字元(如重音)被轉換為 2 個八進制轉義值(例如à轉換為\303\240.如果我使用直接ls -lias命令,則字元串不會被翻譯並且可以在其他命令(sed、mv、cp、ln、…)中與簡單的引號一起使用。

問題:

有沒有辦法像 ls 一樣直接讓find返回文件名?

實際上,我使用 sed 使用臨時文件進行翻譯,並使用 aprintf來獲得八進制翻譯的結果,但是它很慢,有點嚇人,而且不是防彈的,尤其是基於此字元串的後續 mv 和 rm 。

我還使用了一個find . -exec ls -lias {} \;工作 execpt,由於每個文件上的 fork/shell/ls 導致時間爆炸(使用 find -ls 15 分鐘,使用 -exec 15 小時)

我不知道您是否find可以find使用find | xargs.find -exec

引用自:https://serverfault.com/questions/645415