LinuxSir.cn,穿越时空的Linuxsir!

 找回密码
 注册
搜索
热搜: shell linux mysql
查看: 1129|回复: 6

特殊的文本替换问题如何用脚本解决?

[复制链接]
发表于 2003-7-2 18:14:25 | 显示全部楼层 |阅读模式
我有一个文件A中部分内容做成不同的“标签”,然后定义另一个标签和改标签要替换成的值的对照表的文件B。运行程序后将A文件中的标签按照B文件中改标签对应的值进行替换?当然希望文件B中能定义很多种不同的“标签”。

不知我的描述是否清晰。请大家帮帮忙?
例如:文件A
string <标签1>;
string <标签2>;

文件B
<标签1>=Buf
<标签2>=Buf2

替换后的文件A
String Buf;
String Buf2;
发表于 2003-7-2 19:27:54 | 显示全部楼层
就事论事,我是这样处理,也许只适合这种情况,别的没考虑;)
[javalee//home/javalee/myshell]cat filea
string A
string B
string C
[javalee//home/javalee/myshell]cat fileb
A=123123
B=WERWr
C=sdfwerew
[javalee//home/javalee/myshell]while read -u3 a && read -u4 b
> do
> echo $a $b|awk '{print $1,$3}'|awk -F= '{print $1,$2}'|awk '{print $1,$3}'
> done 3<filea 4<fileb >tmp;rm filea;mv tmp filea
[javalee//home/javalee/myshell]cat filea
string 123123
string WERWr
string sdfwerew
发表于 2003-7-2 20:34:30 | 显示全部楼层
用SHELL很晦涩(特别是难的),我觉得不如学PERL算了。
 楼主| 发表于 2003-7-2 23:56:41 | 显示全部楼层
谢谢版主,虽然我现在还看不懂,但我看看其他SHELL基础知识后,应该能够懂你的意思。
呵呵,我的shell还没有入门。
发表于 2003-7-3 00:35:27 | 显示全部楼层
...
呵呵,我的shell还没有入门。
呵~~,让我们一起学习吧~~,有关shell方面的问题,尽管来这里商榷!;)
 楼主| 发表于 2003-7-8 17:41:34 | 显示全部楼层
最初由 javalee 发表

[javalee//home/javalee/myshell]while read -u3 a && read -u4 b


我用的是Debian3,read后面带的-u参数它无法解释。不知这个参数是什么意思?
谢谢。
发表于 2003-7-8 18:02:19 | 显示全部楼层
read -u3 filename :read命令直接从单元3(文件描述符3,filename)读取一行.
由于read是shell的内部命令,他有属于自己独特的选项:
-r:把换行符,\n,当做一字符对待
-s:把一行复制到历史文件
-un:从文件描述符n读取;默认的是标准输入
-p:从一个协进程读取一个输入行
在我的系统上是可以,如果你的read没有这个选项,是否是系统或shell版本的问题!?
您需要登录后才可以回帖 登录 | 注册

本版积分规则

快速回复 返回顶部 返回列表