正则替换目录下所有文件中的文本出现的问题

sh/bash/dash/ksh/zsh等Shell脚本
回复
chpn
帖子: 415
注册时间: 2007-02-28 11:33

正则替换目录下所有文件中的文本出现的问题

#1

帖子 chpn » 2009-02-12 8:10

使用以下代码,只有一个文件成功,其余的全部都变成空文件了

代码: 全选

for file in *; 
do  
     cat $file | sed "s/^[0-9]\{1,\}//g"  > $file;#替换行首数字
done
但是如果把替换结果存为新文件名,所以结果都是成功的

代码: 全选

for file in *; 
do  
    f="new-$file"
     cat $file | sed "s/^[0-9]\{1,\}//g"  > $f;
done
上次由 chpn 在 2009-02-15 15:28,总共编辑 1 次。
头像
eexpress
帖子: 58428
注册时间: 2005-08-14 21:55
来自: 长沙

Re: 正则替换目录下所有文件中的文本出现的问题

#2

帖子 eexpress » 2009-02-12 8:41

sed -i
● 鸣学
回复