Find
cygwin find -ls 行為,如 ls
我使用帶有 -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 使用臨時文件進行翻譯,並使用 a
printf
來獲得八進制翻譯的結果,但是它很慢,有點嚇人,而且不是防彈的,尤其是基於此字元串的後續 mv 和 rm 。我還使用了一個
find . -exec ls -lias {} \;
工作 execpt,由於每個文件上的 fork/shell/ls 導致時間爆炸(使用 find -ls 15 分鐘,使用 -exec 15 小時)
我不知道您是否
find
可以find
使用find | xargs
.find -exec