Chinaunix

标题: for里面的贴换 [打印本页]

作者: viato    时间: 2014-05-31 11:33
标题: for里面的贴换
本帖最后由 viato 于 2014-06-03 14:35 编辑

请教,用sed替换不成功,因为文件中间有一个空格,请教要怎么修改才可以做到贴换效果
  1. for i in `cat file_list`
  2. do
  3.   sed -r 's#^put.*#put "'$i'"#' put.sh
  4. done
复制代码
文件内容如下
/tmp/1.jpg ./install/a/1.jpg
/tmp/2.jpg ./install/a/2.jpg
作者: prcardin    时间: 2014-05-31 11:48
空格加上引号,试一下呢
作者: viato    时间: 2014-05-31 11:49
添加一个 IFS=$(echo -en "\n\b")   就可以了,大家还可以想想其他办法
作者: Herowinter    时间: 2014-05-31 12:31
回复 3# viato
不是文件内容,是文件名中间有空格吧?

   
作者: viato    时间: 2014-05-31 12:56
回复 4# Herowinter


    是内容之间有空格,导致一行在for里面读的时候,变成了两个参数
作者: Shell_HAT    时间: 2014-05-31 14:49
  1. while read line; do
  2.     sed -r "s#^put.*#put $line#" put.sh
  3. done < file_list
复制代码

作者: viato    时间: 2014-06-03 14:37
回复 6# Shell_HAT


       while  可以




欢迎光临 Chinaunix (http://bbs.chinaunix.net/) Powered by Discuz! X3.2