我正在尝试更改许多子目录中的文件。
以下仅处理当前目录:
for file in *.php; do
iconv -f cp949 -t utf8 -o "$file.new" "$file" && mv -f "$file.new" "$file"
done
我如何将其应用于所有子目录中的所有 PHP 文件?
答案1
假设当前目录中有许多子目录并且它们包含以下.php
文件:
for file in */*.php; do
iconv -f cp949 -t utf8 -o "$file.new" "$file" && mv -f "$file.new" "$file"
done
假设您有一个很深的目录层次结构,并且您希望.php
在其中的任何位置找到所有文件:
find . -type f -name '*.php' \
-exec sh -c 'file="$0"; iconv -f cp949 -t utf8 -o "$file.new" "$file" && mv -f "$file.new" "$file"' {} ';'
上述建议未经测试。