2016-02-11 104 views
-3

最简单的做法是什么?如何将文本中的文本插入到另一个文本文件的特定列/行中?

文本文件1:

survey: 
product: 
epsg: 
crstxt: 
zunit: 
surfaceunit: 

文本文件2:

product name 1 

输出:

survey: 
product: product name 1 
epsg: 
crstxt: 
zunit: 
surfaceunit: 
+0

Linux和批处理文件?你确定? – Biffen

+0

什么决定哪条线被更改?第一个字? – Biffen

+0

比芬,我不确定选哪个标签。只有“产品:”行将被更改。文本文件1(调查,epsg,crstxt等)的其余部分将保持不变。我正在努力扩展我的问题,因为我对此进行了更多的研究。抱歉含糊不清。 – c47v3770

回答

1
sed 's/^product:/& '"$(< file2)"'/' file1 

或具有两个SEDS和bash的Process Substitution

sed -f <(sed 's/.*/s|^product:|\& &|/' file2) file1 

输出:

 
survey: 
product: product name 1 
epsg: 
crstxt: 
zunit: 
surfaceunit: 

file2中必须不包含特殊字符(例如斜线,\ 1或&)!

+0

感谢您的帮助Cyrus。我一直在努力在右栏中获取产品名称。这有帮助! – c47v3770

+0

赛勒斯,是否可以将产品名称插入多个“文本文件1”文件?我将有一个带有15个产品名称的文本文件和一个带有“文本文件1”内容的文本文件。我在想一些脚本是必需的? – c47v3770

+0

使用GNU sed:'sed -i -f <(sed's /.*/ s |^product:| \&&| /'file2)file1 file3 file4 file5'这个编辑你的file1 file3 file4 file5“in place” 。 – Cyrus

相关问题