使用unix将多个字符串替换为文件中的不同值

使用unix将多个字符串替换为文件中的不同值

我有一个文件,其中的数据如下所示,

01,0000000,xxxxxxx/                        
02,xxxxxxxx,yyyyyy/                                    
03,test1,41203016,,/      
01,0000000,xxxxxxx/                        
02,xxxxxxxx,yyyyyy/                                    
03,test2,41203017,,/     
01,0000000,xxxxxxx/                        
02,xxxxxxxx,yyyyyy/                                    
03,test3,41203018,,/    

我不知道 test1、test2 和 test3 文件中会有什么值。我知道它将位于以 03 开头的行中,而且我还必须根据测试字符串动态派生替换字符串。

在unix下有没有办法做到这一点?是的,请提供命令。

答案1

之前的评论说这对于这个论坛来说可能是一个太常见的问题。您可能需要研究常见的流编辑。

但作为一个快速答案,尝试这样的事情。

sed -i -e 's/test1/replace1/g' -e 's/test2/replace2/g' [...] Filename

相关内容