find和for怎么一起用

来源:互联网 发布:windows系统快捷键 编辑:程序博客网 时间:2024/04/30 16:37

find得到一些文件列表,但for遍历该列表时,发现得不到完整的路径,因为文件路径有些空格。想在遍历之前,将" "转换成"\ ",始终失败。这种情况该如何办?

for i in ....... ;do ....... "$i";done

 

list=`find -type f -name "*.txt"`
 
for i in "$list"
 
do
 
echo $i
 
done

 

如何遍历的文件路径含有空格 就被当成两个或多个文件路径处理 想知道怎么让for 读取每个txt文件的路径。

 

 

find ... | while read line; do
 
  echo "$line"
 
   ....
 
done

 

这种情况最好改用 while read吧,以行为单位,就不用管空格了
find和while结合可以取到正常文件路径,先前也这样写过,不过在find命令写成`find ...`,导致娶不到正常文件路径。

 

list=`find -type f -name "*.txt"`
 
saveIFS=$IFS
 
IFS="\\"
 
for i in "$list"
 
do
 
    echo $i
 
done
 
IFS=$saveIFS

 

 

0 0
原创粉丝点击