用可变字符串替换字符串

问题描述 投票:-1回答:1

我有两个目录S和T,每个目录包含150个文件。文件名是相同的,例如,如果S包含file1,file2,...,file150,则T也包含file1,file2,...,file150。S中的每个文件都包含以下代码:

<a href="index.php">Home</a>  &rarr; <a href="page1.php">Page 1</a> 
&rarr;  NAME1  <a href="A.php"> &rarr Previous</a> <a href="B.php">Next  &rarr </a>

[其中所有150个文件中的所有文件都是相同的,除了NAME1,即文件2的NAME2,文件3的NAME3,等等。

T中的每个文件都完全包含此代码:

<a href="index.php">Home</a>  &rarr; <a href="page1.php">Page 1</a> 
&rarr;  STRING1  <a href="X1.php"> &rarr Previous</a> <a href="Y1.php">Next  &rarr </a>

其中file1的STRING1,file2的STRING2等是(相当长的)针对每个文件更改的其他代码的字符串,每个文件的X1,Y1也不同,对于file2为X2,Y2,对于文件2为X3,Y3 file3等。>

我想编写一个shell脚本,用T / file1中的字符串X1,Y1替换S / file1中的字符串A,B,T / file2中的X2,Y2替换为S / file中的字符串A,B file2,依此类推。我正在Mac或Ubuntu计算机上使用Terminal。我已经在网上和这个论坛上进行了搜索,并尝试使用sed和awk进行搜索,但是我无法正常工作。感谢您的帮助或建议。

我将给出一个仅包含两个文件而不是150个文件的示例。假设我准备好脚本了。在执行脚本之前,目录S包含文件file1,其内容为

N1 A B

和带有内容的文件file2

N2 A B

目录T包含内容的文件file1

S1 X1 Y1

和带有内容的文件file2

S2 X2 Y2

执行脚本后,S的文件file1包含内容

N1 X1 Y1

和带有内容的文件file2

N2 X2 Y2

目录T不变时。

我希望在运行脚本时对所有150个文件执行此操作。

我有两个目录S和T,每个目录包含150个文件。文件名是相同的,因此例如,如果S包含file1,file2,...,file150,则T也包含file1,file2,...,file150。 S中的每个文件...

string awk sed substitution
1个回答
0
投票

类似的事情可能是最简单的:

© www.soinside.com 2019 - 2024. All rights reserved.