shell中如何复制一段文本并粘贴在文件中的特定位置,在修改粘贴后的内容。

比如:defineservicegroup{servicegroup_nameCheck_System_LoadaliasSystem_Loadmembers184,Cu... 比如:
define servicegroup{
servicegroup_name Check_System_Load
alias System_Load
members 184,Current_Users,184,Total_Processes
}
修改成下面这样,用shell如何实现
define servicegroup{
servicegroup_name Check_System_Load
alias System_Load
members 184,Current_Users,184,Total_Processes
members CRM01,Current_Users,CRM01,Total_Processes
}
是想用Linux Bash shell 来实现这个 "先复制后修改的问题。"
个人思路是 先复制 n1,n2 co n3 (复制n1行和n2行之间的内容到n3行) 下面,然后再修改n3行下面的184 字符为CRM01 , 就是想实现这个一个功能,希望众路大虾不吝赐教,小弟承蒙感激。
展开
 我来答
fbunwpgzio
2011-08-11
知道答主
回答量:0
采纳率:0%
帮助的人:0
展开全部
一、增加菜单项目
----1.首先,决定您要增加到菜单中的文件类型,以及启动这类文件的应用程序。如果是某些在启动时会自动打开的新文件或让您可以立即使用的应用程序,如记事本、写字板或画图等,就不需要特别的准备工作。但如果是在启动时不会自动打开文件的应用程序,您必须依需求建立一个通用的文件范本,并将它保存在Windows中的ShellNew文件夹中。此文件夹在某些系统中是隐藏的,所以您可能必须先选择“查看”*“文件夹选项”,在“查看”选项卡中选取“显示所有文件”选项,单击“确定”即可。
----2.选择“开始”*“运行”,输入“regedit”,打开注册表编辑器。单击 “HKEY_CLASSES_ROOT”旁边的“+”号,可以看到左边窗口中有一排文件夹,都是以Windows中应用程序建立的文件的后缀名命名的(如.doc、.xls和.html等)。找出您要增加到“新建”菜单中的文件类型的后缀名,单击鼠标右键,选择“新建”*“主键”(在注册表中,每个文件夹都是一个主键),将新的主键取名为“ShellNew”。选取新建的主键,在右边视窗空白处单击鼠标右键,选择“新增”*“字符串值”。如果您使用的文件类型,其程序预设为在启动时打开空白文件,就将新字符串名称设定为“NullFile”; 如果您使用的文件类型,其程序在启动时不会自动打开空白文件的话,请将新字符串名称设定为“FileName”。双击“FileName”字符串图标(或选中后按Enter键),在“编辑字符串”对话框的“键值”文本框中输入文件类型范本的完整路径及名称。然后按确定,退出注册表编辑器。您可以立刻在“新建”菜单的文件列表中看到所做的修改。
----以下是一个范例,要在桌面上或在文件夹中按右键建立新的Outlook Express 邮件。启动Outlook Express,选择“文件”*“新建”*“邮件”,再加入要放在邮件中的文字,然后选取“文件”*“另存为”,将邮件以“blank”的名称保存在\\Windows\\ShellNew文件夹中,Outlook Express 会自动为邮件加上.eml扩展名。接下来,依照前面的说明启动注册表编辑器,在HKEY_CLASSES_ROOT中找出.eml的文件夹,建立“ShellNew”主键,在此主键中新建一个字符串值,并将其名称设定为“FileName”。双击“FileName”字符串,在“编辑字符串”对话框的“键值”文本框中输入“C:\\Windows\\ShellNew\\blank.eml”(您可以自行设定路径和名称)。按下“确定”按钮,退出注册表编辑器即可。此时,您可以在桌面上按鼠标右键,选择“新建”*“Outlook Express Mail Message”(如附图所示)。桌面上就会出现一个新邮件图标,输入新邮件文件的名称并按下Enter键。双击新邮件的图标,输入邮件内容,完成之后,按下“发送”按钮即可。这一方法可用来建立电子邮件,并将邮件副本保存在Outlook Express(或其他类似的邮件程序)之外。

二、删除菜单项目
----有许多种方法可以删除“新建”菜单中的文件类型列表,以下是3种方法。
----1.删除您不使用的程序的文件类型,最好是卸载整个应用程序。可以利用“控制面板”中的“添加/删除程序”功能。此操作同时会将“新建”菜单的文件列表中的相应项目删除。
----2.如果您自行卸载软件后,该文件类型的菜单选项仍然存在,请进入资源管理器选择“查看”*“文件夹选项”,单击“文件类型”选项卡,选取您不再使用的文件类型,单击“删除”按钮,确认删除。如此可将文件类型从关联文件菜单、注册表以及“新建”菜单中删除。
----3.如果您需要保留与文件类型相关的应用程序,只想删除“新建”菜单中的图标,请按前面说明打开注册表编辑器。单击“HKEY_CLASSES_ROOT”前的“+”号,找出含有您要删除的文件类型的扩展名的文件夹,单击旁边的“+”号。在左边的树状图中,选取正确扩展名下的“ShellNew”文件夹。此时,您可以制作一个此注册表分支的备份,以便您恢复原有的设置(选择“注册表”*“导出注册表文件”,指定文件名称及保存的位置,“导出范围”项目中必须选中“选择的分支”,然后单击“保存”)。在右边窗口中选取“NullFile”或“FileName”,按下Delete键,然后按Enter键。如果您希望将此项目恢复到功能表中,请找到您导出的.reg文件,双击将其恢复到注册表中。
参考资料:
butiange01
2011-08-17
知道答主
回答量:0
采纳率:0%
帮助的人:0
展开全部
建议有perl程序来做,方便的多。
追问
大虾,主要是我不会perl,shell还行,您能写一下这段perl脚本贴上来么。
小弟承蒙感激,下来我一定学学perl.
追答
你会sed 吗

sed -e '3,5'H -e '7'G 1.txt >1.txt.new

上面的是 复制3-5行 然后粘贴在 7行后面
本回答被提问者采纳
已赞过 已踩过<
你对这个回答的评价是?
评论 收起
推荐律师服务: 若未解决您的问题,请您详细描述您的问题,通过百度律临进行免费专业咨询

为你推荐:

下载百度知道APP,抢鲜体验
使用百度知道APP,立即抢鲜体验。你的手机镜头里或许有别人想知道的答案。
扫描二维码下载
×

类别

我们会通过消息、邮箱等方式尽快将举报结果通知您。

说明

0/200

提交
取消

辅 助

模 式