我需要使用for循环
运行以下命令cat Locate\ Message.eml | ./locatePipe.php
我正在尝试以下操作,但它似乎打破了文件名中的第一个空格
for i in $(find -name "*.eml"); do cat $i | ./locatePipe.php; done
某些文件名包含" @","()"," - ","。", " []"," ' "如果那很重要
答案 0 :(得分:1)
使用-exec
选项
find -name '*.eml' -exec cat {} + | ./locatePipe.php
答案 1 :(得分:1)
我使用以下命令
完成了这项工作find -name '*.eml' | while read email; do cat "$email" | ./locatePipe.php; done
答案 2 :(得分:0)
如果您正在使用bash
4,请跳过find
:
shopt -s globstar
for i in **/*.eml; do
cat "$i"
done | ./locatePipe.php